diff --git a/.CMake/alg_support.cmake b/.CMake/alg_support.cmake index 144bf98c92..d29691469d 100644 --- a/.CMake/alg_support.cmake +++ b/.CMake/alg_support.cmake @@ -1330,6 +1330,12 @@ cmake_dependent_option(OQS_ENABLE_SIG_STFL_lms_sha256_h20_w8_h10_w8 "" ON "OQS_E cmake_dependent_option(OQS_ENABLE_SIG_STFL_lms_sha256_h20_w8_h15_w8 "" ON "OQS_ENABLE_SIG_STFL_LMS" OFF) cmake_dependent_option(OQS_ENABLE_SIG_STFL_lms_sha256_h20_w8_h20_w8 "" ON "OQS_ENABLE_SIG_STFL_LMS" OFF) +# The main minimal-build filter runs before STFL options exist. Run it again +# now so unrequested STFL variants are disabled as well. +if(NOT ((OQS_MINIMAL_BUILD STREQUAL "") OR (OQS_MINIMAL_BUILD STREQUAL "OFF"))) + filter_algs("${OQS_MINIMAL_BUILD}") +endif() + option(OQS_HAZARDOUS_EXPERIMENTAL_ENABLE_SIG_STFL_KEY_SIG_GEN "Enable stateful key and signature generation for research and experimentation" OFF) cmake_dependent_option(OQS_ALLOW_STFL_KEY_AND_SIG_GEN "" ON "OQS_HAZARDOUS_EXPERIMENTAL_ENABLE_SIG_STFL_KEY_SIG_GEN" OFF) diff --git a/.github/workflows/basic.yml b/.github/workflows/basic.yml index c97d25071b..fe4d651828 100644 --- a/.github/workflows/basic.yml +++ b/.github/workflows/basic.yml @@ -125,41 +125,12 @@ jobs: ./example_sig working-directory: ${{ env.RANDOM_BUILD_DIR }} - fuzzbuildcheck: - name: Check that code passes a basic fuzzing build + fuzz-smoke: + name: Check public-input fuzz harnesses needs: [workflowcheck, stylecheck, upstreamcheck] - runs-on: ubuntu-latest - container: openquantumsafe/ci-ubuntu-latest:latest - env: - SIG_NAME: ml_dsa_44 - CC: clang - CXX: clang++ - CFLAGS: -fsanitize=fuzzer-no-link,address - LDFLAGS: -fsanitize=address - steps: - - name: Create random build folder - run: tmp_build=$(mktemp -d) && echo "RANDOM_BUILD_DIR=$tmp_build" >> $GITHUB_ENV - - name: Checkout code - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # pin@v4 - - name: Configure - run: | - cmake \ - -B ${{ env.RANDOM_BUILD_DIR }} \ - -GNinja \ - -DOQS_STRICT_WARNINGS=ON \ - -DOQS_BUILD_FUZZ_TESTS=ON \ - -DOQS_MINIMAL_BUILD="SIG_$SIG_NAME" \ - --warn-uninitialized . > config.log 2>&1 && \ - cat config.log && \ - cmake -LA -N . && \ - ! (grep -i "uninitialized variable" config.log) - - name: Build code - run: ninja fuzz_test_sig - working-directory: ${{ env.RANDOM_BUILD_DIR }} - - - name: Short fuzz check (30s) - run: ./tests/fuzz_test_sig -max_total_time=30 - working-directory: ${{ env.RANDOM_BUILD_DIR }} + uses: ./.github/workflows/fuzz.yml + with: + profile: smoke nixflakecheck: name: Check that Nix flake has correct syntax and can build diff --git a/.github/workflows/fuzz.yml b/.github/workflows/fuzz.yml new file mode 100644 index 0000000000..bad1399a25 --- /dev/null +++ b/.github/workflows/fuzz.yml @@ -0,0 +1,115 @@ +name: Public-input fuzzing + +permissions: + contents: read + +on: + workflow_call: + inputs: + profile: + description: Fuzzing profile to run + required: true + type: string + workflow_dispatch: + inputs: + profile: + description: Fuzzing profile to run + required: true + default: smoke + type: choice + options: + - smoke + - full + +jobs: + fuzz: + name: ${{ inputs.profile }} public-input fuzzing + runs-on: ubuntu-latest + container: openquantumsafe/ci-ubuntu-latest:latest + env: + CC: clang + CXX: clang++ + CFLAGS: -fsanitize=fuzzer-no-link,address + LDFLAGS: -fsanitize=address + steps: + - name: Create random build folder + run: tmp_build=$(mktemp -d) && echo "RANDOM_BUILD_DIR=$tmp_build" >> "$GITHUB_ENV" + - name: Checkout code + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # pin@v4 + - name: Validate corpus + run: python3 tests/fuzz/generate_corpus.py --check + - name: Configure smoke profile + if: ${{ inputs.profile == 'smoke' }} + run: | + echo "FUZZ_TIMEOUT=30" >> "$GITHUB_ENV" + echo "FUZZ_INPUT_TIMEOUT=10" >> "$GITHUB_ENV" + cmake \ + -B "${{ env.RANDOM_BUILD_DIR }}" \ + -GNinja \ + -DOQS_STRICT_WARNINGS=ON \ + -DOQS_BUILD_FUZZ_TESTS=ON \ + -DOQS_HAZARDOUS_EXPERIMENTAL_ENABLE_SIG_STFL_KEY_SIG_GEN=ON \ + -DOQS_ENABLE_SIG_STFL_XMSS=ON \ + -DOQS_ENABLE_SIG_STFL_LMS=ON \ + -DOQS_MINIMAL_BUILD="KEM_ml_kem_768;KEM_bike_l1;SIG_ml_dsa_44;SIG_falcon_512;SIG_STFL_xmss_shake128_h10;SIG_STFL_lms_sha256_h5_w2" \ + --warn-uninitialized . > config.log 2>&1 + cat config.log + cmake -LA -N "${{ env.RANDOM_BUILD_DIR }}" + ! grep -i "uninitialized variable" config.log + - name: Configure full profile + if: ${{ inputs.profile == 'full' }} + run: | + echo "FUZZ_TIMEOUT=600" >> "$GITHUB_ENV" + echo "FUZZ_INPUT_TIMEOUT=60" >> "$GITHUB_ENV" + cmake \ + -B "${{ env.RANDOM_BUILD_DIR }}" \ + -GNinja \ + -DOQS_STRICT_WARNINGS=ON \ + -DOQS_BUILD_FUZZ_TESTS=ON \ + -DOQS_HAZARDOUS_EXPERIMENTAL_ENABLE_SIG_STFL_KEY_SIG_GEN=ON \ + -DOQS_ENABLE_SIG_STFL_XMSS=ON \ + -DOQS_ENABLE_SIG_STFL_LMS=ON \ + --warn-uninitialized . > config.log 2>&1 + cat config.log + cmake -LA -N "${{ env.RANDOM_BUILD_DIR }}" + ! grep -i "uninitialized variable" config.log + - name: Reject unknown profile + if: ${{ inputs.profile != 'smoke' && inputs.profile != 'full' }} + run: | + echo "unknown fuzzing profile: ${{ inputs.profile }}" >&2 + exit 1 + - name: Build fuzz targets + working-directory: ${{ env.RANDOM_BUILD_DIR }} + run: | + ninja \ + fuzz_test_kem_encaps \ + fuzz_test_kem_decaps \ + fuzz_test_sig_verify \ + fuzz_test_sig_stfl_verify \ + fuzz_test_sig_stfl_deserialize + - name: Run fuzz targets + run: | + mkdir -p "$GITHUB_WORKSPACE/fuzz-artifacts" + for target in \ + fuzz_test_kem_encaps \ + fuzz_test_kem_decaps \ + fuzz_test_sig_verify \ + fuzz_test_sig_stfl_verify \ + fuzz_test_sig_stfl_deserialize; do + "${{ env.RANDOM_BUILD_DIR }}/tests/$target" \ + "$GITHUB_WORKSPACE/tests/fuzz/corpus/$target" \ + -artifact_prefix="$GITHUB_WORKSPACE/fuzz-artifacts/$target-" \ + -max_total_time="$FUZZ_TIMEOUT" \ + -timeout="$FUZZ_INPUT_TIMEOUT" \ + -max_len=65536 \ + -keep_seed=1 \ + -verbosity=0 \ + -print_final_stats=1 + done + - name: Upload crash artifacts + if: failure() + uses: actions/upload-artifact@1746f4ab65b179e0ea60a494b83293b640dd5bba # pin@v4 + with: + name: fuzz-artifacts-${{ inputs.profile }} + path: fuzz-artifacts/ + if-no-files-found: ignore diff --git a/.github/workflows/weekly.yml b/.github/workflows/weekly.yml index 1d6a5993b3..948492e441 100644 --- a/.github/workflows/weekly.yml +++ b/.github/workflows/weekly.yml @@ -30,4 +30,9 @@ jobs: sig-continuous-benchmarking: uses: ./.github/workflows/sig-bench.yml permissions: - contents: write \ No newline at end of file + contents: write + + fuzz-full: + uses: ./.github/workflows/fuzz.yml + with: + profile: full diff --git a/docs/FUZZING.md b/docs/FUZZING.md index 22a7a35811..c37c9fcab5 100644 --- a/docs/FUZZING.md +++ b/docs/FUZZING.md @@ -1,71 +1,94 @@ # Fuzzing -Fuzz testing is an automated software testing method that injects invalid, -malformed, or unexpected inputs to reveal defects and vulnerabilities. A fuzzing -tool monitors the system for exceptions like crashes, information leakage, or -errors, helping developers identify and fix bugs and security loopholes. - -## Current state of fuzzing in liboqs -- [ ] kem - - [ ] bike - - [ ] classic_mceliece - - [ ] frodokem - - [ ] hqc - - [ ] kyber - - [ ] ml_kem - - [ ] ntruprime -- [ ] sig - - [x] falcon - - [x] mayo - - [x] ml_dsa -- [ ] sig_stfl - - [ ] lms - - [ ] sig_stfl - - [ ] xmss - -## Building and running fuzz tests - -Building fuzz tests is very similar to building normally with some optional -steps to target different types of bugs. The most basic ways to build the -fuzz tests is as follows; +liboqs fuzz targets focus on public inputs that can reach scheme-specific +decoders or deserializers before authentication succeeds. The targets start +from a valid cached baseline for each enabled algorithm and then mutate the +attacker-controlled fields, which keeps the fuzzer in deep parsing and +verification paths instead of spending most iterations on early rejects. -```bash -mkdir build && cd build -cmake -GNinja -DOQS_BUILD_FUZZ_TESTS=ON .. -ninja -``` +## Targets -`OQS_BUILD_FUZZ_TESTS` will build two test binaries: `tests/fuzz_test_sig` and `tests/fuzz_test_kem`. +| Target | Public API surface | Mutated attacker input | +| --- | --- | --- | +| `fuzz_test_kem_encaps` | `OQS_KEM_encaps`, `OQS_KEM_encaps_derand` | KEM public keys | +| `fuzz_test_kem_decaps` | `OQS_KEM_decaps` | KEM ciphertexts | +| `fuzz_test_sig_verify` | `OQS_SIG_verify`, `OQS_SIG_verify_with_ctx_str` | Public keys, signatures, messages, contexts | +| `fuzz_test_sig_stfl_verify` | `OQS_SIG_STFL_verify` | Stateful public keys, signatures, messages | +| `fuzz_test_sig_stfl_deserialize` | `OQS_SIG_STFL_SECRET_KEY_deserialize` and round-trip serialization | Serialized stateful secret keys | -The fuzzer will run indefinitely or; -- until it finds a bug and crashes, -- you manually stop the fuzzer i.e. CTRL-C -- you set a timeout using the command line. +`fuzz_test_sig_stfl_deserialize` is only built when +`OQS_HAZARDOUS_EXPERIMENTAL_ENABLE_SIG_STFL_KEY_SIG_GEN=ON`, because the +target relies on the full stateful object layout and persistence callback path +available in key/sign builds. -For more details on the available command line args please consult the [libfuzzer docs](https://llvm.org/docs/LibFuzzer.html). +## Building -## Sanitizers -It is a common pattern to combine fuzzing with various sanitizers to catch different bugs. -One of the simpler sanitizers is the fuzzing sanitizer, which will instrument the code -for coverage driven fuzzing. To enable this simply add this to your environment variables -before configuring cmake; +Use Clang and sanitizer instrumentation for local runs: -``` -export CFLAGS=-fsanitize=fuzzer-no-link +```bash +export CC=clang +export CXX=clang++ +export CFLAGS=-fsanitize=fuzzer-no-link,address +export LDFLAGS=-fsanitize=address + +cmake -S . -B build/fuzz -GNinja \ + -DCMAKE_BUILD_TYPE=Debug \ + -DOQS_BUILD_FUZZ_TESTS=ON \ + -DOQS_HAZARDOUS_EXPERIMENTAL_ENABLE_SIG_STFL_KEY_SIG_GEN=ON \ + -DOQS_ENABLE_SIG_STFL_XMSS=ON \ + -DOQS_ENABLE_SIG_STFL_LMS=ON +ninja -C build/fuzz \ + fuzz_test_kem_encaps \ + fuzz_test_kem_decaps \ + fuzz_test_sig_verify \ + fuzz_test_sig_stfl_verify \ + fuzz_test_sig_stfl_deserialize ``` -It is common to combine the fuzzer sanitizer with either the [address](https://clang.llvm.org/docs/AddressSanitizer.html) -or the [undefined behaviour sanitizer](https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html). To -add these simply add the relevant flags to BOTH the CFLAGS and LDFLAGS e.g. +For focused local work, prefer a minimal build: +```bash +cmake -S . -B build/fuzz-minimal -GNinja \ + -DCMAKE_BUILD_TYPE=Debug \ + -DOQS_BUILD_FUZZ_TESTS=ON \ + -DOQS_HAZARDOUS_EXPERIMENTAL_ENABLE_SIG_STFL_KEY_SIG_GEN=ON \ + -DOQS_ENABLE_SIG_STFL_XMSS=ON \ + -DOQS_ENABLE_SIG_STFL_LMS=ON \ + '-DOQS_MINIMAL_BUILD=KEM_ml_kem_768;KEM_bike_l1;SIG_ml_dsa_44;SIG_falcon_512;SIG_STFL_xmss_shake128_h10;SIG_STFL_lms_sha256_h5_w2' ``` -export CFLAGS=-fsanitize=fuzzer-no-link,address -export LDFLAGS=-fsanitize=address + +## Corpus + +The committed seed corpus is generated from the algorithm registries in +`src/kem/kem.c`, `src/sig/sig.c`, and `src/sig_stfl/sig_stfl.c`. Each seed is a +small binary header selecting one algorithm and API mode; the target then +reconstructs a valid baseline in memory. + +Regenerate or validate the corpus after algorithm registry changes: + +```bash +python3 tests/fuzz/generate_corpus.py --write +python3 tests/fuzz/generate_corpus.py --check ``` -Then rerun cmake as normal i.e. +## Running + +Pass the matching corpus directory to libFuzzer and use an artifact prefix so a +crashing input is preserved: + ```bash -mkdir build && cd build -cmake -GNinja .. -DOQS_BUILD_FUZZ_TESTS=ON -ninja -j$(nproc) +mkdir -p fuzz-artifacts +build/fuzz/tests/fuzz_test_sig_verify \ + tests/fuzz/corpus/fuzz_test_sig_verify \ + -max_total_time=300 \ + -timeout=10 \ + -max_len=65536 \ + -keep_seed=1 \ + -verbosity=0 \ + -print_final_stats=1 \ + -artifact_prefix=fuzz-artifacts/fuzz_test_sig_verify- ``` + +The PR workflow runs a short sanitizer smoke profile over representative KEM, +signature, XMSS, and LMS algorithms. The weekly workflow enables all default +algorithms plus both stateful families and runs every target for longer. diff --git a/src/sig_stfl/lms/CMakeLists.txt b/src/sig_stfl/lms/CMakeLists.txt index b04030e834..56445e167f 100644 --- a/src/sig_stfl/lms/CMakeLists.txt +++ b/src/sig_stfl/lms/CMakeLists.txt @@ -37,9 +37,8 @@ set(SRCS add_library(lms OBJECT ${SRCS}) -target_include_directories(lms PRIVATE ${LIBOQS_ROOT_DIR}/include) +target_include_directories(lms PRIVATE ${PROJECT_BINARY_DIR}/include) set(_LMS_OBJS ${_LMS_OBJS} $) set(LMS_OBJS ${_LMS_OBJS} PARENT_SCOPE) - diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index e777f75321..279f82f67c 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -112,30 +112,28 @@ add_executable(example_sig example_sig.c) target_link_libraries(example_sig PRIVATE ${TEST_DEPS}) if(OQS_BUILD_FUZZ_TESTS AND CMAKE_C_COMPILER_ID MATCHES "Clang") - add_executable(fuzz_test_sig fuzz_test_sig.c) - target_link_libraries(fuzz_test_sig PRIVATE ${TEST_DEPS}) - set_target_properties(fuzz_test_sig PROPERTIES - COMPILE_FLAGS "${FUZZING_COMPILE_FLAGS}" - LINK_FLAGS "${FUZZING_LINK_FLAGS}" - ) - add_executable(fuzz_test_kem fuzz_test_kem.c) - target_link_libraries(fuzz_test_kem PRIVATE ${TEST_DEPS}) - set_target_properties(fuzz_test_kem PROPERTIES - COMPILE_FLAGS "${FUZZING_COMPILE_FLAGS}" - LINK_FLAGS "${FUZZING_LINK_FLAGS}" - ) - add_executable(fuzz_test_sig_stfl_xmss fuzz_test_sig_stfl_xmss.c) - target_link_libraries(fuzz_test_sig_stfl_xmss PRIVATE ${TEST_DEPS}) - set_target_properties(fuzz_test_sig_stfl_xmss PROPERTIES - COMPILE_FLAGS "${FUZZING_COMPILE_FLAGS}" - LINK_FLAGS "${FUZZING_LINK_FLAGS}" - ) - add_executable(fuzz_test_sig_stfl_lms fuzz_test_sig_stfl_lms.c) - target_link_libraries(fuzz_test_sig_stfl_lms PRIVATE ${TEST_DEPS}) - set_target_properties(fuzz_test_sig_stfl_lms PROPERTIES - COMPILE_FLAGS "${FUZZING_COMPILE_FLAGS}" - LINK_FLAGS "${FUZZING_LINK_FLAGS}" - ) + function(add_oqs_fuzz_target target_name) + add_executable(${target_name} ${ARGN}) + target_link_libraries(${target_name} PRIVATE ${TEST_DEPS}) + target_include_directories(${target_name} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/fuzz) + target_compile_definitions(${target_name} PRIVATE OQS_FUZZ_SOURCE_DIR="${PROJECT_SOURCE_DIR}") + set_target_properties(${target_name} PROPERTIES + COMPILE_FLAGS "${FUZZING_COMPILE_FLAGS}" + LINK_FLAGS "${FUZZING_LINK_FLAGS}" + ) + endfunction() + + set(FUZZ_HELPERS fuzz/fuzz_helpers.c) + set(FUZZ_KEM_HELPERS ${FUZZ_HELPERS} fuzz/fuzz_kem_cache.c) + set(FUZZ_SIG_HELPERS ${FUZZ_HELPERS} fuzz/fuzz_sig_cache.c) + + add_oqs_fuzz_target(fuzz_test_kem_encaps fuzz_test_kem_encaps.c ${FUZZ_KEM_HELPERS}) + add_oqs_fuzz_target(fuzz_test_kem_decaps fuzz_test_kem_decaps.c ${FUZZ_KEM_HELPERS}) + add_oqs_fuzz_target(fuzz_test_sig_verify fuzz_test_sig_verify.c ${FUZZ_SIG_HELPERS}) + add_oqs_fuzz_target(fuzz_test_sig_stfl_verify fuzz_test_sig_stfl_verify.c ${FUZZ_HELPERS}) + if(OQS_ALLOW_STFL_KEY_AND_SIG_GEN) + add_oqs_fuzz_target(fuzz_test_sig_stfl_deserialize fuzz_test_sig_stfl_deserialize.c ${FUZZ_HELPERS}) + endif() endif() # Stateful SIG API tests diff --git a/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-000-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-000-mode-00 new file mode 100644 index 0000000000..51d72fb29f Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-000-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-001-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-001-mode-00 new file mode 100644 index 0000000000..a27a4994b2 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-001-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-002-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-002-mode-00 new file mode 100644 index 0000000000..d3ef68338c Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-002-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-003-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-003-mode-00 new file mode 100644 index 0000000000..1e11405246 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-003-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-004-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-004-mode-00 new file mode 100644 index 0000000000..a27f2aa1cf Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-004-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-005-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-005-mode-00 new file mode 100644 index 0000000000..fd1a87619f Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-005-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-006-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-006-mode-00 new file mode 100644 index 0000000000..dee919db6b Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-006-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-007-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-007-mode-00 new file mode 100644 index 0000000000..a0199724fd Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-007-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-008-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-008-mode-00 new file mode 100644 index 0000000000..dfbf979e1a Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-008-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-009-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-009-mode-00 new file mode 100644 index 0000000000..0efef75fee Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-009-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-010-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-010-mode-00 new file mode 100644 index 0000000000..f83b1540ca Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-010-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-011-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-011-mode-00 new file mode 100644 index 0000000000..b9aa7da5ff Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-011-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-012-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-012-mode-00 new file mode 100644 index 0000000000..6930da3a08 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-012-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-013-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-013-mode-00 new file mode 100644 index 0000000000..63ff9ae9ef Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-013-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-014-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-014-mode-00 new file mode 100644 index 0000000000..1d43bd09b2 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-014-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-015-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-015-mode-00 new file mode 100644 index 0000000000..11305f8776 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-015-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-016-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-016-mode-00 new file mode 100644 index 0000000000..f5f525bb0a Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-016-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-017-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-017-mode-00 new file mode 100644 index 0000000000..232d61ff32 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-017-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-018-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-018-mode-00 new file mode 100644 index 0000000000..134e19a30c Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-018-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-019-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-019-mode-00 new file mode 100644 index 0000000000..21b12bfb11 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-019-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-020-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-020-mode-00 new file mode 100644 index 0000000000..f94cc53ca6 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-020-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-021-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-021-mode-00 new file mode 100644 index 0000000000..9e952bcfb2 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-021-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-022-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-022-mode-00 new file mode 100644 index 0000000000..8746a8daf2 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-022-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-023-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-023-mode-00 new file mode 100644 index 0000000000..5e3d2dbc88 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-023-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-024-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-024-mode-00 new file mode 100644 index 0000000000..6c1eb40f98 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-024-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-025-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-025-mode-00 new file mode 100644 index 0000000000..56620c7a2b Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-025-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-026-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-026-mode-00 new file mode 100644 index 0000000000..a005098ec8 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-026-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-027-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-027-mode-00 new file mode 100644 index 0000000000..789663b61e Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-027-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-028-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-028-mode-00 new file mode 100644 index 0000000000..bf291b45ff Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-028-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-029-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-029-mode-00 new file mode 100644 index 0000000000..4c2f622aba Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-029-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-030-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-030-mode-00 new file mode 100644 index 0000000000..ca3db9e984 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-030-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-031-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-031-mode-00 new file mode 100644 index 0000000000..56e18c54b5 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-031-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-032-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-032-mode-00 new file mode 100644 index 0000000000..4e24bdb0f8 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-032-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-033-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-033-mode-00 new file mode 100644 index 0000000000..092c85bbed Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-033-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-034-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-034-mode-00 new file mode 100644 index 0000000000..27885787b1 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-034-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-035-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-035-mode-00 new file mode 100644 index 0000000000..b1b2eeadd2 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-035-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-036-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-036-mode-00 new file mode 100644 index 0000000000..81124bdef6 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-036-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-037-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-037-mode-00 new file mode 100644 index 0000000000..01e270e3fb Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-037-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-038-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-038-mode-00 new file mode 100644 index 0000000000..12609902c3 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-038-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-039-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-039-mode-00 new file mode 100644 index 0000000000..57d4234adc Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-039-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-040-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-040-mode-00 new file mode 100644 index 0000000000..53a875c891 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_decaps/alg-040-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-000-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-000-mode-00 new file mode 100644 index 0000000000..51d72fb29f Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-000-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-000-mode-01 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-000-mode-01 new file mode 100644 index 0000000000..c57c0dd7ba Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-000-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-001-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-001-mode-00 new file mode 100644 index 0000000000..a27a4994b2 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-001-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-001-mode-01 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-001-mode-01 new file mode 100644 index 0000000000..f3b1840b35 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-001-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-002-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-002-mode-00 new file mode 100644 index 0000000000..d3ef68338c Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-002-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-002-mode-01 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-002-mode-01 new file mode 100644 index 0000000000..69dddb0e48 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-002-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-003-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-003-mode-00 new file mode 100644 index 0000000000..1e11405246 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-003-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-003-mode-01 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-003-mode-01 new file mode 100644 index 0000000000..5b56ac7c24 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-003-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-004-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-004-mode-00 new file mode 100644 index 0000000000..a27f2aa1cf Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-004-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-004-mode-01 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-004-mode-01 new file mode 100644 index 0000000000..9f589fce85 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-004-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-005-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-005-mode-00 new file mode 100644 index 0000000000..fd1a87619f Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-005-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-005-mode-01 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-005-mode-01 new file mode 100644 index 0000000000..e8b87b9ecd Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-005-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-006-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-006-mode-00 new file mode 100644 index 0000000000..dee919db6b Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-006-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-006-mode-01 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-006-mode-01 new file mode 100644 index 0000000000..7be7e8248e Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-006-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-007-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-007-mode-00 new file mode 100644 index 0000000000..a0199724fd Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-007-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-007-mode-01 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-007-mode-01 new file mode 100644 index 0000000000..009630368e Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-007-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-008-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-008-mode-00 new file mode 100644 index 0000000000..dfbf979e1a Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-008-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-008-mode-01 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-008-mode-01 new file mode 100644 index 0000000000..dc32958fd9 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-008-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-009-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-009-mode-00 new file mode 100644 index 0000000000..0efef75fee Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-009-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-009-mode-01 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-009-mode-01 new file mode 100644 index 0000000000..1aadac15e9 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-009-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-010-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-010-mode-00 new file mode 100644 index 0000000000..f83b1540ca Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-010-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-010-mode-01 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-010-mode-01 new file mode 100644 index 0000000000..2d2240fa99 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-010-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-011-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-011-mode-00 new file mode 100644 index 0000000000..b9aa7da5ff Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-011-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-011-mode-01 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-011-mode-01 new file mode 100644 index 0000000000..ab39d69ec6 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-011-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-012-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-012-mode-00 new file mode 100644 index 0000000000..6930da3a08 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-012-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-012-mode-01 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-012-mode-01 new file mode 100644 index 0000000000..58a29ed04d Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-012-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-013-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-013-mode-00 new file mode 100644 index 0000000000..63ff9ae9ef Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-013-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-013-mode-01 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-013-mode-01 new file mode 100644 index 0000000000..f6e94256ae Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-013-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-014-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-014-mode-00 new file mode 100644 index 0000000000..1d43bd09b2 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-014-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-014-mode-01 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-014-mode-01 new file mode 100644 index 0000000000..934c0a5a02 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-014-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-015-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-015-mode-00 new file mode 100644 index 0000000000..11305f8776 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-015-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-015-mode-01 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-015-mode-01 new file mode 100644 index 0000000000..e8513e02a3 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-015-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-016-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-016-mode-00 new file mode 100644 index 0000000000..f5f525bb0a Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-016-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-016-mode-01 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-016-mode-01 new file mode 100644 index 0000000000..8ebb43fc22 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-016-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-017-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-017-mode-00 new file mode 100644 index 0000000000..232d61ff32 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-017-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-017-mode-01 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-017-mode-01 new file mode 100644 index 0000000000..e25fab8eb1 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-017-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-018-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-018-mode-00 new file mode 100644 index 0000000000..134e19a30c Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-018-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-018-mode-01 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-018-mode-01 new file mode 100644 index 0000000000..967bc01968 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-018-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-019-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-019-mode-00 new file mode 100644 index 0000000000..21b12bfb11 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-019-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-019-mode-01 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-019-mode-01 new file mode 100644 index 0000000000..f323380601 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-019-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-020-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-020-mode-00 new file mode 100644 index 0000000000..f94cc53ca6 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-020-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-020-mode-01 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-020-mode-01 new file mode 100644 index 0000000000..83ceb88604 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-020-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-021-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-021-mode-00 new file mode 100644 index 0000000000..9e952bcfb2 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-021-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-021-mode-01 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-021-mode-01 new file mode 100644 index 0000000000..aeaa196b3c Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-021-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-022-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-022-mode-00 new file mode 100644 index 0000000000..8746a8daf2 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-022-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-022-mode-01 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-022-mode-01 new file mode 100644 index 0000000000..9e81ca838d Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-022-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-023-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-023-mode-00 new file mode 100644 index 0000000000..5e3d2dbc88 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-023-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-023-mode-01 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-023-mode-01 new file mode 100644 index 0000000000..653cf145b0 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-023-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-024-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-024-mode-00 new file mode 100644 index 0000000000..6c1eb40f98 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-024-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-024-mode-01 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-024-mode-01 new file mode 100644 index 0000000000..7ba4cbd8ba Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-024-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-025-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-025-mode-00 new file mode 100644 index 0000000000..56620c7a2b Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-025-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-025-mode-01 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-025-mode-01 new file mode 100644 index 0000000000..4a64566ce1 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-025-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-026-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-026-mode-00 new file mode 100644 index 0000000000..a005098ec8 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-026-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-026-mode-01 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-026-mode-01 new file mode 100644 index 0000000000..b80c39fab2 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-026-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-027-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-027-mode-00 new file mode 100644 index 0000000000..789663b61e Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-027-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-027-mode-01 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-027-mode-01 new file mode 100644 index 0000000000..ff2fac3152 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-027-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-028-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-028-mode-00 new file mode 100644 index 0000000000..bf291b45ff Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-028-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-028-mode-01 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-028-mode-01 new file mode 100644 index 0000000000..4b6e8c584e Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-028-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-029-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-029-mode-00 new file mode 100644 index 0000000000..4c2f622aba Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-029-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-029-mode-01 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-029-mode-01 new file mode 100644 index 0000000000..6ebf6cacca Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-029-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-030-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-030-mode-00 new file mode 100644 index 0000000000..ca3db9e984 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-030-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-030-mode-01 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-030-mode-01 new file mode 100644 index 0000000000..ff8bed3347 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-030-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-031-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-031-mode-00 new file mode 100644 index 0000000000..56e18c54b5 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-031-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-031-mode-01 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-031-mode-01 new file mode 100644 index 0000000000..8691260651 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-031-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-032-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-032-mode-00 new file mode 100644 index 0000000000..4e24bdb0f8 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-032-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-032-mode-01 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-032-mode-01 new file mode 100644 index 0000000000..c93edd5b75 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-032-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-033-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-033-mode-00 new file mode 100644 index 0000000000..092c85bbed Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-033-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-033-mode-01 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-033-mode-01 new file mode 100644 index 0000000000..75b77f3b4c Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-033-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-034-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-034-mode-00 new file mode 100644 index 0000000000..27885787b1 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-034-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-034-mode-01 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-034-mode-01 new file mode 100644 index 0000000000..142a4404dc Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-034-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-035-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-035-mode-00 new file mode 100644 index 0000000000..b1b2eeadd2 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-035-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-035-mode-01 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-035-mode-01 new file mode 100644 index 0000000000..f09161443a Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-035-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-036-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-036-mode-00 new file mode 100644 index 0000000000..81124bdef6 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-036-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-036-mode-01 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-036-mode-01 new file mode 100644 index 0000000000..ae73c1a12c Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-036-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-037-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-037-mode-00 new file mode 100644 index 0000000000..01e270e3fb Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-037-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-037-mode-01 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-037-mode-01 new file mode 100644 index 0000000000..aaab8c9fc9 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-037-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-038-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-038-mode-00 new file mode 100644 index 0000000000..12609902c3 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-038-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-038-mode-01 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-038-mode-01 new file mode 100644 index 0000000000..df4d5cec95 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-038-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-039-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-039-mode-00 new file mode 100644 index 0000000000..57d4234adc Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-039-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-039-mode-01 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-039-mode-01 new file mode 100644 index 0000000000..eb358d7c06 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-039-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-040-mode-00 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-040-mode-00 new file mode 100644 index 0000000000..53a875c891 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-040-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-040-mode-01 b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-040-mode-01 new file mode 100644 index 0000000000..12f80f6360 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_kem_encaps/alg-040-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-000-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-000-mode-00 new file mode 100644 index 0000000000..51d72fb29f Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-000-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-001-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-001-mode-00 new file mode 100644 index 0000000000..a27a4994b2 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-001-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-002-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-002-mode-00 new file mode 100644 index 0000000000..d3ef68338c Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-002-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-003-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-003-mode-00 new file mode 100644 index 0000000000..1e11405246 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-003-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-004-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-004-mode-00 new file mode 100644 index 0000000000..a27f2aa1cf Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-004-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-005-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-005-mode-00 new file mode 100644 index 0000000000..fd1a87619f Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-005-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-006-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-006-mode-00 new file mode 100644 index 0000000000..dee919db6b Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-006-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-007-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-007-mode-00 new file mode 100644 index 0000000000..a0199724fd Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-007-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-008-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-008-mode-00 new file mode 100644 index 0000000000..dfbf979e1a Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-008-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-009-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-009-mode-00 new file mode 100644 index 0000000000..0efef75fee Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-009-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-010-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-010-mode-00 new file mode 100644 index 0000000000..f83b1540ca Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-010-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-011-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-011-mode-00 new file mode 100644 index 0000000000..b9aa7da5ff Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-011-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-012-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-012-mode-00 new file mode 100644 index 0000000000..6930da3a08 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-012-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-013-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-013-mode-00 new file mode 100644 index 0000000000..63ff9ae9ef Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-013-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-014-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-014-mode-00 new file mode 100644 index 0000000000..1d43bd09b2 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-014-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-015-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-015-mode-00 new file mode 100644 index 0000000000..11305f8776 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-015-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-016-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-016-mode-00 new file mode 100644 index 0000000000..f5f525bb0a Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-016-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-017-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-017-mode-00 new file mode 100644 index 0000000000..232d61ff32 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-017-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-018-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-018-mode-00 new file mode 100644 index 0000000000..134e19a30c Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-018-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-019-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-019-mode-00 new file mode 100644 index 0000000000..21b12bfb11 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-019-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-020-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-020-mode-00 new file mode 100644 index 0000000000..f94cc53ca6 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-020-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-021-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-021-mode-00 new file mode 100644 index 0000000000..9e952bcfb2 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-021-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-022-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-022-mode-00 new file mode 100644 index 0000000000..8746a8daf2 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-022-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-023-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-023-mode-00 new file mode 100644 index 0000000000..5e3d2dbc88 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-023-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-024-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-024-mode-00 new file mode 100644 index 0000000000..6c1eb40f98 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-024-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-025-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-025-mode-00 new file mode 100644 index 0000000000..56620c7a2b Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-025-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-026-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-026-mode-00 new file mode 100644 index 0000000000..a005098ec8 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-026-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-027-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-027-mode-00 new file mode 100644 index 0000000000..789663b61e Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-027-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-028-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-028-mode-00 new file mode 100644 index 0000000000..bf291b45ff Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-028-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-029-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-029-mode-00 new file mode 100644 index 0000000000..4c2f622aba Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-029-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-030-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-030-mode-00 new file mode 100644 index 0000000000..ca3db9e984 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-030-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-031-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-031-mode-00 new file mode 100644 index 0000000000..56e18c54b5 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-031-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-032-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-032-mode-00 new file mode 100644 index 0000000000..4e24bdb0f8 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-032-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-033-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-033-mode-00 new file mode 100644 index 0000000000..092c85bbed Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-033-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-034-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-034-mode-00 new file mode 100644 index 0000000000..27885787b1 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-034-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-035-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-035-mode-00 new file mode 100644 index 0000000000..b1b2eeadd2 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-035-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-036-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-036-mode-00 new file mode 100644 index 0000000000..81124bdef6 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-036-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-037-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-037-mode-00 new file mode 100644 index 0000000000..01e270e3fb Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-037-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-038-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-038-mode-00 new file mode 100644 index 0000000000..12609902c3 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-038-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-039-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-039-mode-00 new file mode 100644 index 0000000000..57d4234adc Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-039-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-040-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-040-mode-00 new file mode 100644 index 0000000000..53a875c891 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-040-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-041-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-041-mode-00 new file mode 100644 index 0000000000..18275cbb89 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-041-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-042-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-042-mode-00 new file mode 100644 index 0000000000..4b160d1508 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-042-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-043-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-043-mode-00 new file mode 100644 index 0000000000..0201ddd34a Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-043-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-044-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-044-mode-00 new file mode 100644 index 0000000000..a565096ea2 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-044-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-045-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-045-mode-00 new file mode 100644 index 0000000000..6fa3213cff Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-045-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-046-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-046-mode-00 new file mode 100644 index 0000000000..2866ca4aa7 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-046-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-047-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-047-mode-00 new file mode 100644 index 0000000000..13eed8bee8 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-047-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-048-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-048-mode-00 new file mode 100644 index 0000000000..0df3debbdf Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-048-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-049-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-049-mode-00 new file mode 100644 index 0000000000..5d0fe80d68 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-049-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-050-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-050-mode-00 new file mode 100644 index 0000000000..d386d5c9b4 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-050-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-051-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-051-mode-00 new file mode 100644 index 0000000000..90d70588bc Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-051-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-052-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-052-mode-00 new file mode 100644 index 0000000000..40e1ff0eb7 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-052-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-053-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-053-mode-00 new file mode 100644 index 0000000000..40213af35d Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-053-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-054-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-054-mode-00 new file mode 100644 index 0000000000..3bee562b6f Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-054-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-055-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-055-mode-00 new file mode 100644 index 0000000000..d7ebccff33 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-055-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-056-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-056-mode-00 new file mode 100644 index 0000000000..c2c98f0199 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-056-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-057-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-057-mode-00 new file mode 100644 index 0000000000..c019c001fa Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-057-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-058-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-058-mode-00 new file mode 100644 index 0000000000..7beb3c4e24 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-058-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-059-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-059-mode-00 new file mode 100644 index 0000000000..ad54938188 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-059-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-060-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-060-mode-00 new file mode 100644 index 0000000000..58621e07da Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-060-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-061-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-061-mode-00 new file mode 100644 index 0000000000..64a4b4d999 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-061-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-062-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-062-mode-00 new file mode 100644 index 0000000000..5674e7820d Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-062-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-063-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-063-mode-00 new file mode 100644 index 0000000000..3aa04b0eee Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-063-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-064-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-064-mode-00 new file mode 100644 index 0000000000..22b0999024 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-064-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-065-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-065-mode-00 new file mode 100644 index 0000000000..eb0ebf5ba6 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-065-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-066-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-066-mode-00 new file mode 100644 index 0000000000..b4361128ce Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-066-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-067-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-067-mode-00 new file mode 100644 index 0000000000..5d9572558a Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-067-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-068-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-068-mode-00 new file mode 100644 index 0000000000..0c63d944d3 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-068-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-069-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-069-mode-00 new file mode 100644 index 0000000000..ba1d462a7e Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_deserialize/alg-069-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-000-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-000-mode-00 new file mode 100644 index 0000000000..51d72fb29f Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-000-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-001-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-001-mode-00 new file mode 100644 index 0000000000..a27a4994b2 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-001-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-002-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-002-mode-00 new file mode 100644 index 0000000000..d3ef68338c Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-002-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-003-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-003-mode-00 new file mode 100644 index 0000000000..1e11405246 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-003-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-004-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-004-mode-00 new file mode 100644 index 0000000000..a27f2aa1cf Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-004-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-005-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-005-mode-00 new file mode 100644 index 0000000000..fd1a87619f Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-005-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-006-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-006-mode-00 new file mode 100644 index 0000000000..dee919db6b Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-006-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-007-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-007-mode-00 new file mode 100644 index 0000000000..a0199724fd Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-007-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-008-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-008-mode-00 new file mode 100644 index 0000000000..dfbf979e1a Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-008-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-009-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-009-mode-00 new file mode 100644 index 0000000000..0efef75fee Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-009-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-010-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-010-mode-00 new file mode 100644 index 0000000000..f83b1540ca Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-010-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-011-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-011-mode-00 new file mode 100644 index 0000000000..b9aa7da5ff Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-011-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-012-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-012-mode-00 new file mode 100644 index 0000000000..6930da3a08 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-012-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-013-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-013-mode-00 new file mode 100644 index 0000000000..63ff9ae9ef Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-013-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-014-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-014-mode-00 new file mode 100644 index 0000000000..1d43bd09b2 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-014-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-015-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-015-mode-00 new file mode 100644 index 0000000000..11305f8776 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-015-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-016-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-016-mode-00 new file mode 100644 index 0000000000..f5f525bb0a Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-016-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-017-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-017-mode-00 new file mode 100644 index 0000000000..232d61ff32 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-017-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-018-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-018-mode-00 new file mode 100644 index 0000000000..134e19a30c Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-018-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-019-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-019-mode-00 new file mode 100644 index 0000000000..21b12bfb11 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-019-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-020-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-020-mode-00 new file mode 100644 index 0000000000..f94cc53ca6 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-020-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-021-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-021-mode-00 new file mode 100644 index 0000000000..9e952bcfb2 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-021-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-022-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-022-mode-00 new file mode 100644 index 0000000000..8746a8daf2 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-022-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-023-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-023-mode-00 new file mode 100644 index 0000000000..5e3d2dbc88 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-023-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-024-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-024-mode-00 new file mode 100644 index 0000000000..6c1eb40f98 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-024-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-025-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-025-mode-00 new file mode 100644 index 0000000000..56620c7a2b Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-025-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-026-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-026-mode-00 new file mode 100644 index 0000000000..a005098ec8 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-026-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-027-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-027-mode-00 new file mode 100644 index 0000000000..789663b61e Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-027-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-028-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-028-mode-00 new file mode 100644 index 0000000000..bf291b45ff Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-028-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-029-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-029-mode-00 new file mode 100644 index 0000000000..4c2f622aba Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-029-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-030-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-030-mode-00 new file mode 100644 index 0000000000..ca3db9e984 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-030-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-031-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-031-mode-00 new file mode 100644 index 0000000000..56e18c54b5 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-031-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-032-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-032-mode-00 new file mode 100644 index 0000000000..4e24bdb0f8 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-032-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-033-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-033-mode-00 new file mode 100644 index 0000000000..092c85bbed Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-033-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-034-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-034-mode-00 new file mode 100644 index 0000000000..27885787b1 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-034-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-035-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-035-mode-00 new file mode 100644 index 0000000000..b1b2eeadd2 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-035-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-036-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-036-mode-00 new file mode 100644 index 0000000000..81124bdef6 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-036-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-037-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-037-mode-00 new file mode 100644 index 0000000000..01e270e3fb Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-037-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-038-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-038-mode-00 new file mode 100644 index 0000000000..12609902c3 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-038-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-039-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-039-mode-00 new file mode 100644 index 0000000000..57d4234adc Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-039-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-040-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-040-mode-00 new file mode 100644 index 0000000000..53a875c891 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-040-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-041-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-041-mode-00 new file mode 100644 index 0000000000..18275cbb89 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-041-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-042-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-042-mode-00 new file mode 100644 index 0000000000..4b160d1508 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-042-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-043-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-043-mode-00 new file mode 100644 index 0000000000..0201ddd34a Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-043-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-044-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-044-mode-00 new file mode 100644 index 0000000000..a565096ea2 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-044-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-045-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-045-mode-00 new file mode 100644 index 0000000000..6fa3213cff Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-045-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-046-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-046-mode-00 new file mode 100644 index 0000000000..2866ca4aa7 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-046-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-047-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-047-mode-00 new file mode 100644 index 0000000000..13eed8bee8 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-047-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-048-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-048-mode-00 new file mode 100644 index 0000000000..0df3debbdf Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-048-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-049-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-049-mode-00 new file mode 100644 index 0000000000..5d0fe80d68 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-049-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-050-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-050-mode-00 new file mode 100644 index 0000000000..d386d5c9b4 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-050-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-051-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-051-mode-00 new file mode 100644 index 0000000000..90d70588bc Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-051-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-052-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-052-mode-00 new file mode 100644 index 0000000000..40e1ff0eb7 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-052-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-053-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-053-mode-00 new file mode 100644 index 0000000000..40213af35d Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-053-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-054-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-054-mode-00 new file mode 100644 index 0000000000..3bee562b6f Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-054-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-055-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-055-mode-00 new file mode 100644 index 0000000000..d7ebccff33 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-055-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-056-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-056-mode-00 new file mode 100644 index 0000000000..c2c98f0199 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-056-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-057-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-057-mode-00 new file mode 100644 index 0000000000..c019c001fa Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-057-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-058-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-058-mode-00 new file mode 100644 index 0000000000..7beb3c4e24 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-058-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-059-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-059-mode-00 new file mode 100644 index 0000000000..ad54938188 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-059-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-060-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-060-mode-00 new file mode 100644 index 0000000000..58621e07da Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-060-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-061-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-061-mode-00 new file mode 100644 index 0000000000..64a4b4d999 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-061-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-062-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-062-mode-00 new file mode 100644 index 0000000000..5674e7820d Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-062-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-063-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-063-mode-00 new file mode 100644 index 0000000000..3aa04b0eee Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-063-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-064-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-064-mode-00 new file mode 100644 index 0000000000..22b0999024 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-064-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-065-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-065-mode-00 new file mode 100644 index 0000000000..eb0ebf5ba6 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-065-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-066-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-066-mode-00 new file mode 100644 index 0000000000..b4361128ce Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-066-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-067-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-067-mode-00 new file mode 100644 index 0000000000..5d9572558a Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-067-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-068-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-068-mode-00 new file mode 100644 index 0000000000..0c63d944d3 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-068-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-069-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-069-mode-00 new file mode 100644 index 0000000000..ba1d462a7e Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_stfl_verify/alg-069-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-000-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-000-mode-00 new file mode 100644 index 0000000000..51d72fb29f Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-000-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-000-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-000-mode-01 new file mode 100644 index 0000000000..c57c0dd7ba Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-000-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-000-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-000-mode-02 new file mode 100644 index 0000000000..25154a4725 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-000-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-001-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-001-mode-00 new file mode 100644 index 0000000000..a27a4994b2 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-001-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-001-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-001-mode-01 new file mode 100644 index 0000000000..f3b1840b35 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-001-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-001-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-001-mode-02 new file mode 100644 index 0000000000..6c04888fd9 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-001-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-002-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-002-mode-00 new file mode 100644 index 0000000000..d3ef68338c Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-002-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-002-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-002-mode-01 new file mode 100644 index 0000000000..69dddb0e48 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-002-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-002-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-002-mode-02 new file mode 100644 index 0000000000..83454f33d2 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-002-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-003-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-003-mode-00 new file mode 100644 index 0000000000..1e11405246 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-003-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-003-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-003-mode-01 new file mode 100644 index 0000000000..5b56ac7c24 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-003-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-003-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-003-mode-02 new file mode 100644 index 0000000000..e7ef3adf61 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-003-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-004-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-004-mode-00 new file mode 100644 index 0000000000..a27f2aa1cf Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-004-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-004-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-004-mode-01 new file mode 100644 index 0000000000..9f589fce85 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-004-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-004-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-004-mode-02 new file mode 100644 index 0000000000..d9d12d5785 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-004-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-005-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-005-mode-00 new file mode 100644 index 0000000000..fd1a87619f Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-005-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-005-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-005-mode-01 new file mode 100644 index 0000000000..e8b87b9ecd Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-005-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-005-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-005-mode-02 new file mode 100644 index 0000000000..c055000b89 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-005-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-006-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-006-mode-00 new file mode 100644 index 0000000000..dee919db6b Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-006-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-006-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-006-mode-01 new file mode 100644 index 0000000000..7be7e8248e Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-006-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-006-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-006-mode-02 new file mode 100644 index 0000000000..8500016226 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-006-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-007-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-007-mode-00 new file mode 100644 index 0000000000..a0199724fd Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-007-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-007-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-007-mode-01 new file mode 100644 index 0000000000..009630368e Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-007-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-007-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-007-mode-02 new file mode 100644 index 0000000000..d8828f01a7 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-007-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-008-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-008-mode-00 new file mode 100644 index 0000000000..dfbf979e1a Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-008-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-008-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-008-mode-01 new file mode 100644 index 0000000000..dc32958fd9 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-008-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-008-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-008-mode-02 new file mode 100644 index 0000000000..30c2d53f4e Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-008-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-009-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-009-mode-00 new file mode 100644 index 0000000000..0efef75fee Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-009-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-009-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-009-mode-01 new file mode 100644 index 0000000000..1aadac15e9 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-009-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-009-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-009-mode-02 new file mode 100644 index 0000000000..a10146913c Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-009-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-010-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-010-mode-00 new file mode 100644 index 0000000000..f83b1540ca Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-010-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-010-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-010-mode-01 new file mode 100644 index 0000000000..2d2240fa99 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-010-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-010-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-010-mode-02 new file mode 100644 index 0000000000..2b228ef0c6 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-010-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-011-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-011-mode-00 new file mode 100644 index 0000000000..b9aa7da5ff Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-011-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-011-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-011-mode-01 new file mode 100644 index 0000000000..ab39d69ec6 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-011-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-011-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-011-mode-02 new file mode 100644 index 0000000000..c600580bbf Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-011-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-012-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-012-mode-00 new file mode 100644 index 0000000000..6930da3a08 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-012-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-012-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-012-mode-01 new file mode 100644 index 0000000000..58a29ed04d Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-012-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-012-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-012-mode-02 new file mode 100644 index 0000000000..2e4d754a8d Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-012-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-013-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-013-mode-00 new file mode 100644 index 0000000000..63ff9ae9ef Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-013-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-013-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-013-mode-01 new file mode 100644 index 0000000000..f6e94256ae Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-013-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-013-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-013-mode-02 new file mode 100644 index 0000000000..ace4f9d723 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-013-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-014-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-014-mode-00 new file mode 100644 index 0000000000..1d43bd09b2 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-014-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-014-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-014-mode-01 new file mode 100644 index 0000000000..934c0a5a02 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-014-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-014-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-014-mode-02 new file mode 100644 index 0000000000..9218051f8d Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-014-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-015-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-015-mode-00 new file mode 100644 index 0000000000..11305f8776 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-015-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-015-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-015-mode-01 new file mode 100644 index 0000000000..e8513e02a3 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-015-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-015-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-015-mode-02 new file mode 100644 index 0000000000..7849604fc3 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-015-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-016-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-016-mode-00 new file mode 100644 index 0000000000..f5f525bb0a Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-016-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-016-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-016-mode-01 new file mode 100644 index 0000000000..8ebb43fc22 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-016-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-016-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-016-mode-02 new file mode 100644 index 0000000000..82d0f13e1a Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-016-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-017-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-017-mode-00 new file mode 100644 index 0000000000..232d61ff32 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-017-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-017-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-017-mode-01 new file mode 100644 index 0000000000..e25fab8eb1 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-017-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-017-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-017-mode-02 new file mode 100644 index 0000000000..f130ebdba2 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-017-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-018-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-018-mode-00 new file mode 100644 index 0000000000..134e19a30c Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-018-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-018-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-018-mode-01 new file mode 100644 index 0000000000..967bc01968 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-018-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-018-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-018-mode-02 new file mode 100644 index 0000000000..d7e6985e82 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-018-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-019-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-019-mode-00 new file mode 100644 index 0000000000..21b12bfb11 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-019-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-019-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-019-mode-01 new file mode 100644 index 0000000000..f323380601 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-019-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-019-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-019-mode-02 new file mode 100644 index 0000000000..c3cf42d229 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-019-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-020-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-020-mode-00 new file mode 100644 index 0000000000..f94cc53ca6 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-020-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-020-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-020-mode-01 new file mode 100644 index 0000000000..83ceb88604 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-020-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-020-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-020-mode-02 new file mode 100644 index 0000000000..ed8f929e83 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-020-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-021-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-021-mode-00 new file mode 100644 index 0000000000..9e952bcfb2 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-021-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-021-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-021-mode-01 new file mode 100644 index 0000000000..aeaa196b3c Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-021-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-021-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-021-mode-02 new file mode 100644 index 0000000000..7058f165ca Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-021-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-022-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-022-mode-00 new file mode 100644 index 0000000000..8746a8daf2 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-022-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-022-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-022-mode-01 new file mode 100644 index 0000000000..9e81ca838d Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-022-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-022-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-022-mode-02 new file mode 100644 index 0000000000..130da23433 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-022-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-023-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-023-mode-00 new file mode 100644 index 0000000000..5e3d2dbc88 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-023-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-023-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-023-mode-01 new file mode 100644 index 0000000000..653cf145b0 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-023-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-023-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-023-mode-02 new file mode 100644 index 0000000000..26ccc1ea75 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-023-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-024-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-024-mode-00 new file mode 100644 index 0000000000..6c1eb40f98 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-024-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-024-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-024-mode-01 new file mode 100644 index 0000000000..7ba4cbd8ba Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-024-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-024-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-024-mode-02 new file mode 100644 index 0000000000..6024020ea5 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-024-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-025-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-025-mode-00 new file mode 100644 index 0000000000..56620c7a2b Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-025-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-025-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-025-mode-01 new file mode 100644 index 0000000000..4a64566ce1 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-025-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-025-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-025-mode-02 new file mode 100644 index 0000000000..d0bb0e2f6b Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-025-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-026-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-026-mode-00 new file mode 100644 index 0000000000..a005098ec8 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-026-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-026-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-026-mode-01 new file mode 100644 index 0000000000..b80c39fab2 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-026-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-026-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-026-mode-02 new file mode 100644 index 0000000000..39c14334c5 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-026-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-027-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-027-mode-00 new file mode 100644 index 0000000000..789663b61e Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-027-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-027-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-027-mode-01 new file mode 100644 index 0000000000..ff2fac3152 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-027-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-027-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-027-mode-02 new file mode 100644 index 0000000000..d845d48bb8 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-027-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-028-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-028-mode-00 new file mode 100644 index 0000000000..bf291b45ff Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-028-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-028-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-028-mode-01 new file mode 100644 index 0000000000..4b6e8c584e Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-028-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-028-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-028-mode-02 new file mode 100644 index 0000000000..bb20e1942a Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-028-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-029-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-029-mode-00 new file mode 100644 index 0000000000..4c2f622aba Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-029-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-029-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-029-mode-01 new file mode 100644 index 0000000000..6ebf6cacca Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-029-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-029-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-029-mode-02 new file mode 100644 index 0000000000..47e579dae7 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-029-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-030-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-030-mode-00 new file mode 100644 index 0000000000..ca3db9e984 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-030-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-030-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-030-mode-01 new file mode 100644 index 0000000000..ff8bed3347 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-030-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-030-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-030-mode-02 new file mode 100644 index 0000000000..b884daab47 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-030-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-031-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-031-mode-00 new file mode 100644 index 0000000000..56e18c54b5 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-031-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-031-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-031-mode-01 new file mode 100644 index 0000000000..8691260651 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-031-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-031-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-031-mode-02 new file mode 100644 index 0000000000..4b7c1fa089 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-031-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-032-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-032-mode-00 new file mode 100644 index 0000000000..4e24bdb0f8 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-032-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-032-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-032-mode-01 new file mode 100644 index 0000000000..c93edd5b75 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-032-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-032-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-032-mode-02 new file mode 100644 index 0000000000..0e74d1a58e Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-032-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-033-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-033-mode-00 new file mode 100644 index 0000000000..092c85bbed Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-033-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-033-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-033-mode-01 new file mode 100644 index 0000000000..75b77f3b4c Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-033-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-033-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-033-mode-02 new file mode 100644 index 0000000000..ef14ef6255 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-033-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-034-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-034-mode-00 new file mode 100644 index 0000000000..27885787b1 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-034-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-034-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-034-mode-01 new file mode 100644 index 0000000000..142a4404dc Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-034-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-034-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-034-mode-02 new file mode 100644 index 0000000000..658eb0bc21 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-034-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-035-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-035-mode-00 new file mode 100644 index 0000000000..b1b2eeadd2 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-035-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-035-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-035-mode-01 new file mode 100644 index 0000000000..f09161443a Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-035-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-035-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-035-mode-02 new file mode 100644 index 0000000000..2579f2ec5d Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-035-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-036-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-036-mode-00 new file mode 100644 index 0000000000..81124bdef6 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-036-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-036-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-036-mode-01 new file mode 100644 index 0000000000..ae73c1a12c Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-036-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-036-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-036-mode-02 new file mode 100644 index 0000000000..6c279c5711 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-036-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-037-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-037-mode-00 new file mode 100644 index 0000000000..01e270e3fb Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-037-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-037-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-037-mode-01 new file mode 100644 index 0000000000..aaab8c9fc9 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-037-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-037-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-037-mode-02 new file mode 100644 index 0000000000..98a7b6ecc7 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-037-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-038-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-038-mode-00 new file mode 100644 index 0000000000..12609902c3 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-038-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-038-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-038-mode-01 new file mode 100644 index 0000000000..df4d5cec95 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-038-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-038-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-038-mode-02 new file mode 100644 index 0000000000..4002daae62 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-038-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-039-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-039-mode-00 new file mode 100644 index 0000000000..57d4234adc Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-039-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-039-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-039-mode-01 new file mode 100644 index 0000000000..eb358d7c06 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-039-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-039-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-039-mode-02 new file mode 100644 index 0000000000..a3a24265f1 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-039-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-040-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-040-mode-00 new file mode 100644 index 0000000000..53a875c891 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-040-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-040-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-040-mode-01 new file mode 100644 index 0000000000..12f80f6360 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-040-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-040-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-040-mode-02 new file mode 100644 index 0000000000..6748454ae1 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-040-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-041-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-041-mode-00 new file mode 100644 index 0000000000..18275cbb89 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-041-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-041-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-041-mode-01 new file mode 100644 index 0000000000..b503b8cfe8 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-041-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-041-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-041-mode-02 new file mode 100644 index 0000000000..278f7d3dd6 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-041-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-042-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-042-mode-00 new file mode 100644 index 0000000000..4b160d1508 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-042-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-042-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-042-mode-01 new file mode 100644 index 0000000000..a50c15d9d1 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-042-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-042-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-042-mode-02 new file mode 100644 index 0000000000..7a30cacda9 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-042-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-043-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-043-mode-00 new file mode 100644 index 0000000000..0201ddd34a Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-043-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-043-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-043-mode-01 new file mode 100644 index 0000000000..9f6d7de815 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-043-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-043-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-043-mode-02 new file mode 100644 index 0000000000..42b2000df6 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-043-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-044-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-044-mode-00 new file mode 100644 index 0000000000..a565096ea2 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-044-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-044-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-044-mode-01 new file mode 100644 index 0000000000..881890f596 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-044-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-044-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-044-mode-02 new file mode 100644 index 0000000000..4971bee63a Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-044-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-045-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-045-mode-00 new file mode 100644 index 0000000000..6fa3213cff Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-045-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-045-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-045-mode-01 new file mode 100644 index 0000000000..180476890b Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-045-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-045-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-045-mode-02 new file mode 100644 index 0000000000..f413695a7a Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-045-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-046-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-046-mode-00 new file mode 100644 index 0000000000..2866ca4aa7 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-046-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-046-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-046-mode-01 new file mode 100644 index 0000000000..1aac7f2b67 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-046-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-046-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-046-mode-02 new file mode 100644 index 0000000000..9e8002360c Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-046-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-047-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-047-mode-00 new file mode 100644 index 0000000000..13eed8bee8 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-047-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-047-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-047-mode-01 new file mode 100644 index 0000000000..a4c6b40b02 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-047-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-047-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-047-mode-02 new file mode 100644 index 0000000000..c72701d63f Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-047-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-048-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-048-mode-00 new file mode 100644 index 0000000000..0df3debbdf Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-048-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-048-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-048-mode-01 new file mode 100644 index 0000000000..444678f0e6 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-048-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-048-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-048-mode-02 new file mode 100644 index 0000000000..e647268c60 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-048-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-049-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-049-mode-00 new file mode 100644 index 0000000000..5d0fe80d68 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-049-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-049-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-049-mode-01 new file mode 100644 index 0000000000..408f2beb0c Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-049-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-049-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-049-mode-02 new file mode 100644 index 0000000000..1d6d64c08a Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-049-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-050-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-050-mode-00 new file mode 100644 index 0000000000..d386d5c9b4 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-050-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-050-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-050-mode-01 new file mode 100644 index 0000000000..2ff080fe96 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-050-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-050-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-050-mode-02 new file mode 100644 index 0000000000..a7a16c8244 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-050-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-051-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-051-mode-00 new file mode 100644 index 0000000000..90d70588bc Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-051-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-051-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-051-mode-01 new file mode 100644 index 0000000000..cc20a9e877 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-051-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-051-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-051-mode-02 new file mode 100644 index 0000000000..298074a18a Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-051-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-052-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-052-mode-00 new file mode 100644 index 0000000000..40e1ff0eb7 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-052-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-052-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-052-mode-01 new file mode 100644 index 0000000000..f2ae096732 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-052-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-052-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-052-mode-02 new file mode 100644 index 0000000000..b03f235f0f Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-052-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-053-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-053-mode-00 new file mode 100644 index 0000000000..40213af35d Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-053-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-053-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-053-mode-01 new file mode 100644 index 0000000000..b7e5427fa6 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-053-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-053-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-053-mode-02 new file mode 100644 index 0000000000..14381f3da9 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-053-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-054-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-054-mode-00 new file mode 100644 index 0000000000..3bee562b6f Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-054-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-054-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-054-mode-01 new file mode 100644 index 0000000000..7763445d90 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-054-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-054-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-054-mode-02 new file mode 100644 index 0000000000..4ddf6defd9 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-054-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-055-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-055-mode-00 new file mode 100644 index 0000000000..d7ebccff33 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-055-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-055-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-055-mode-01 new file mode 100644 index 0000000000..3d361c952c Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-055-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-055-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-055-mode-02 new file mode 100644 index 0000000000..86e404e4f6 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-055-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-056-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-056-mode-00 new file mode 100644 index 0000000000..c2c98f0199 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-056-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-056-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-056-mode-01 new file mode 100644 index 0000000000..491d972850 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-056-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-056-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-056-mode-02 new file mode 100644 index 0000000000..144eb2c01f Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-056-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-057-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-057-mode-00 new file mode 100644 index 0000000000..c019c001fa Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-057-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-057-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-057-mode-01 new file mode 100644 index 0000000000..094141994c Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-057-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-057-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-057-mode-02 new file mode 100644 index 0000000000..396a57eae2 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-057-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-058-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-058-mode-00 new file mode 100644 index 0000000000..7beb3c4e24 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-058-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-058-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-058-mode-01 new file mode 100644 index 0000000000..941aa0edea Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-058-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-058-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-058-mode-02 new file mode 100644 index 0000000000..e5c5371fac Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-058-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-059-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-059-mode-00 new file mode 100644 index 0000000000..ad54938188 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-059-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-059-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-059-mode-01 new file mode 100644 index 0000000000..ed5ae5171b Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-059-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-059-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-059-mode-02 new file mode 100644 index 0000000000..abb6004cc6 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-059-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-060-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-060-mode-00 new file mode 100644 index 0000000000..58621e07da Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-060-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-060-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-060-mode-01 new file mode 100644 index 0000000000..3967e536ef Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-060-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-060-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-060-mode-02 new file mode 100644 index 0000000000..d6c76d1bfd Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-060-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-061-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-061-mode-00 new file mode 100644 index 0000000000..64a4b4d999 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-061-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-061-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-061-mode-01 new file mode 100644 index 0000000000..93337eb7a6 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-061-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-061-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-061-mode-02 new file mode 100644 index 0000000000..b01a2ea6be Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-061-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-062-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-062-mode-00 new file mode 100644 index 0000000000..5674e7820d Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-062-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-062-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-062-mode-01 new file mode 100644 index 0000000000..187bd5058f Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-062-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-062-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-062-mode-02 new file mode 100644 index 0000000000..7d76c4fdd9 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-062-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-063-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-063-mode-00 new file mode 100644 index 0000000000..3aa04b0eee Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-063-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-063-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-063-mode-01 new file mode 100644 index 0000000000..90d0384572 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-063-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-063-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-063-mode-02 new file mode 100644 index 0000000000..af24f26a89 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-063-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-064-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-064-mode-00 new file mode 100644 index 0000000000..22b0999024 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-064-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-064-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-064-mode-01 new file mode 100644 index 0000000000..ea8c57f90e Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-064-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-064-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-064-mode-02 new file mode 100644 index 0000000000..090062a810 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-064-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-065-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-065-mode-00 new file mode 100644 index 0000000000..eb0ebf5ba6 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-065-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-065-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-065-mode-01 new file mode 100644 index 0000000000..55024fb4b5 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-065-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-065-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-065-mode-02 new file mode 100644 index 0000000000..3ff46f3cce Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-065-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-066-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-066-mode-00 new file mode 100644 index 0000000000..b4361128ce Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-066-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-066-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-066-mode-01 new file mode 100644 index 0000000000..919ec57677 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-066-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-066-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-066-mode-02 new file mode 100644 index 0000000000..74115329ac Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-066-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-067-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-067-mode-00 new file mode 100644 index 0000000000..5d9572558a Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-067-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-067-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-067-mode-01 new file mode 100644 index 0000000000..c203ac345b Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-067-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-067-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-067-mode-02 new file mode 100644 index 0000000000..c580c7783c Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-067-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-068-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-068-mode-00 new file mode 100644 index 0000000000..0c63d944d3 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-068-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-068-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-068-mode-01 new file mode 100644 index 0000000000..6c4932344a Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-068-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-068-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-068-mode-02 new file mode 100644 index 0000000000..e670a48ac4 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-068-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-069-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-069-mode-00 new file mode 100644 index 0000000000..ba1d462a7e Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-069-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-069-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-069-mode-01 new file mode 100644 index 0000000000..b495ba5875 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-069-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-069-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-069-mode-02 new file mode 100644 index 0000000000..d216e440a9 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-069-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-070-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-070-mode-00 new file mode 100644 index 0000000000..12a7965be9 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-070-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-070-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-070-mode-01 new file mode 100644 index 0000000000..04edb3dca0 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-070-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-070-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-070-mode-02 new file mode 100644 index 0000000000..0c10ac4fdf Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-070-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-071-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-071-mode-00 new file mode 100644 index 0000000000..0251b11ec0 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-071-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-071-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-071-mode-01 new file mode 100644 index 0000000000..31ac1b0873 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-071-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-071-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-071-mode-02 new file mode 100644 index 0000000000..0323b25831 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-071-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-072-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-072-mode-00 new file mode 100644 index 0000000000..7b72eaa7c0 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-072-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-072-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-072-mode-01 new file mode 100644 index 0000000000..e3cd405f06 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-072-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-072-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-072-mode-02 new file mode 100644 index 0000000000..00a59fc470 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-072-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-073-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-073-mode-00 new file mode 100644 index 0000000000..7df4bae639 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-073-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-073-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-073-mode-01 new file mode 100644 index 0000000000..748de65d5c Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-073-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-073-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-073-mode-02 new file mode 100644 index 0000000000..a12fc389f3 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-073-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-074-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-074-mode-00 new file mode 100644 index 0000000000..cfdfb27461 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-074-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-074-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-074-mode-01 new file mode 100644 index 0000000000..a1885b210d Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-074-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-074-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-074-mode-02 new file mode 100644 index 0000000000..3902706f1d Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-074-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-075-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-075-mode-00 new file mode 100644 index 0000000000..25d5af1446 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-075-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-075-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-075-mode-01 new file mode 100644 index 0000000000..c3b20096a4 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-075-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-075-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-075-mode-02 new file mode 100644 index 0000000000..07926eab86 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-075-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-076-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-076-mode-00 new file mode 100644 index 0000000000..fd6c4e51cd Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-076-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-076-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-076-mode-01 new file mode 100644 index 0000000000..b425e88cfc Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-076-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-076-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-076-mode-02 new file mode 100644 index 0000000000..6c4b2f9053 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-076-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-077-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-077-mode-00 new file mode 100644 index 0000000000..fb27a2953a Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-077-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-077-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-077-mode-01 new file mode 100644 index 0000000000..a8fb54fd80 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-077-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-077-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-077-mode-02 new file mode 100644 index 0000000000..c8578e6e9a Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-077-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-078-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-078-mode-00 new file mode 100644 index 0000000000..25b6c293bc Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-078-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-078-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-078-mode-01 new file mode 100644 index 0000000000..c2adad80af Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-078-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-078-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-078-mode-02 new file mode 100644 index 0000000000..3eccd682ca Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-078-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-079-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-079-mode-00 new file mode 100644 index 0000000000..ae36ee3f7f Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-079-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-079-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-079-mode-01 new file mode 100644 index 0000000000..0eac160b07 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-079-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-079-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-079-mode-02 new file mode 100644 index 0000000000..c52a865387 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-079-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-080-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-080-mode-00 new file mode 100644 index 0000000000..31214268bb Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-080-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-080-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-080-mode-01 new file mode 100644 index 0000000000..f42ae6c2dd Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-080-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-080-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-080-mode-02 new file mode 100644 index 0000000000..558f8cf3d8 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-080-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-081-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-081-mode-00 new file mode 100644 index 0000000000..23dee04a1a Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-081-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-081-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-081-mode-01 new file mode 100644 index 0000000000..47323ed3c4 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-081-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-081-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-081-mode-02 new file mode 100644 index 0000000000..1977597bf3 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-081-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-082-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-082-mode-00 new file mode 100644 index 0000000000..9ee2919c28 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-082-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-082-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-082-mode-01 new file mode 100644 index 0000000000..fbc097b3d4 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-082-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-082-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-082-mode-02 new file mode 100644 index 0000000000..4de9f97cfc Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-082-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-083-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-083-mode-00 new file mode 100644 index 0000000000..8f98183aae Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-083-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-083-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-083-mode-01 new file mode 100644 index 0000000000..36cf6fdce3 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-083-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-083-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-083-mode-02 new file mode 100644 index 0000000000..33a9bba79f Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-083-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-084-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-084-mode-00 new file mode 100644 index 0000000000..4c9dad35b1 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-084-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-084-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-084-mode-01 new file mode 100644 index 0000000000..24a19423ca Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-084-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-084-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-084-mode-02 new file mode 100644 index 0000000000..32dbf272b8 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-084-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-085-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-085-mode-00 new file mode 100644 index 0000000000..03f67e7f53 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-085-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-085-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-085-mode-01 new file mode 100644 index 0000000000..2297f0d394 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-085-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-085-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-085-mode-02 new file mode 100644 index 0000000000..69b99b0d9c Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-085-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-086-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-086-mode-00 new file mode 100644 index 0000000000..5ce0c32f5f Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-086-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-086-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-086-mode-01 new file mode 100644 index 0000000000..9c698615b4 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-086-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-086-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-086-mode-02 new file mode 100644 index 0000000000..d9da75509f Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-086-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-087-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-087-mode-00 new file mode 100644 index 0000000000..c47168b169 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-087-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-087-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-087-mode-01 new file mode 100644 index 0000000000..60eadd3700 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-087-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-087-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-087-mode-02 new file mode 100644 index 0000000000..e6cf0386e7 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-087-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-088-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-088-mode-00 new file mode 100644 index 0000000000..4445adc7b8 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-088-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-088-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-088-mode-01 new file mode 100644 index 0000000000..217036f960 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-088-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-088-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-088-mode-02 new file mode 100644 index 0000000000..4220258805 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-088-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-089-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-089-mode-00 new file mode 100644 index 0000000000..84abbae753 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-089-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-089-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-089-mode-01 new file mode 100644 index 0000000000..dd326e0a9a Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-089-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-089-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-089-mode-02 new file mode 100644 index 0000000000..85d636530a Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-089-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-090-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-090-mode-00 new file mode 100644 index 0000000000..f087c0110d Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-090-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-090-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-090-mode-01 new file mode 100644 index 0000000000..9f58342f94 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-090-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-090-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-090-mode-02 new file mode 100644 index 0000000000..7c8d53e30a Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-090-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-091-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-091-mode-00 new file mode 100644 index 0000000000..53fb766c15 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-091-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-091-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-091-mode-01 new file mode 100644 index 0000000000..e253c197ca Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-091-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-091-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-091-mode-02 new file mode 100644 index 0000000000..7aca5ddd27 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-091-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-092-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-092-mode-00 new file mode 100644 index 0000000000..bc32698af9 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-092-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-092-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-092-mode-01 new file mode 100644 index 0000000000..d7508fc841 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-092-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-092-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-092-mode-02 new file mode 100644 index 0000000000..576b9ac5a0 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-092-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-093-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-093-mode-00 new file mode 100644 index 0000000000..9a7c368af5 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-093-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-093-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-093-mode-01 new file mode 100644 index 0000000000..cf7ef6d599 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-093-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-093-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-093-mode-02 new file mode 100644 index 0000000000..ac10b26984 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-093-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-094-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-094-mode-00 new file mode 100644 index 0000000000..67c82d3195 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-094-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-094-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-094-mode-01 new file mode 100644 index 0000000000..6154bffba8 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-094-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-094-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-094-mode-02 new file mode 100644 index 0000000000..f882c3ea7b Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-094-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-095-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-095-mode-00 new file mode 100644 index 0000000000..62f9711294 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-095-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-095-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-095-mode-01 new file mode 100644 index 0000000000..017ef2ef36 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-095-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-095-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-095-mode-02 new file mode 100644 index 0000000000..eab72a9808 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-095-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-096-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-096-mode-00 new file mode 100644 index 0000000000..bd50b81196 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-096-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-096-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-096-mode-01 new file mode 100644 index 0000000000..72cf0ab52d Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-096-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-096-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-096-mode-02 new file mode 100644 index 0000000000..c0f3a7a3a0 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-096-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-097-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-097-mode-00 new file mode 100644 index 0000000000..a9f5d4070f Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-097-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-097-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-097-mode-01 new file mode 100644 index 0000000000..00b25596ef Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-097-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-097-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-097-mode-02 new file mode 100644 index 0000000000..2c49a47035 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-097-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-098-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-098-mode-00 new file mode 100644 index 0000000000..bf3fe28f52 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-098-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-098-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-098-mode-01 new file mode 100644 index 0000000000..f7a2b90dcb Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-098-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-098-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-098-mode-02 new file mode 100644 index 0000000000..14350b0ec9 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-098-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-099-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-099-mode-00 new file mode 100644 index 0000000000..29cad2aede Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-099-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-099-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-099-mode-01 new file mode 100644 index 0000000000..146c1ba6dd Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-099-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-099-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-099-mode-02 new file mode 100644 index 0000000000..21ddab1fe4 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-099-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-100-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-100-mode-00 new file mode 100644 index 0000000000..a714f4e6f5 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-100-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-100-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-100-mode-01 new file mode 100644 index 0000000000..fd06d28a10 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-100-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-100-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-100-mode-02 new file mode 100644 index 0000000000..85a1963db3 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-100-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-101-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-101-mode-00 new file mode 100644 index 0000000000..f9ae9ade89 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-101-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-101-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-101-mode-01 new file mode 100644 index 0000000000..989b95ef6f Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-101-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-101-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-101-mode-02 new file mode 100644 index 0000000000..2cf8e35365 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-101-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-102-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-102-mode-00 new file mode 100644 index 0000000000..501bf30ca8 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-102-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-102-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-102-mode-01 new file mode 100644 index 0000000000..6d658facfa Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-102-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-102-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-102-mode-02 new file mode 100644 index 0000000000..a4ffd49606 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-102-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-103-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-103-mode-00 new file mode 100644 index 0000000000..91443bec70 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-103-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-103-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-103-mode-01 new file mode 100644 index 0000000000..78adf3f319 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-103-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-103-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-103-mode-02 new file mode 100644 index 0000000000..b68720342c Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-103-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-104-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-104-mode-00 new file mode 100644 index 0000000000..46f09727b9 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-104-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-104-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-104-mode-01 new file mode 100644 index 0000000000..15ab7dd458 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-104-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-104-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-104-mode-02 new file mode 100644 index 0000000000..13d9ec2289 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-104-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-105-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-105-mode-00 new file mode 100644 index 0000000000..2ef4f4a808 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-105-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-105-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-105-mode-01 new file mode 100644 index 0000000000..f0de7180af Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-105-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-105-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-105-mode-02 new file mode 100644 index 0000000000..5702d4f1ea Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-105-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-106-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-106-mode-00 new file mode 100644 index 0000000000..414338238d Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-106-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-106-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-106-mode-01 new file mode 100644 index 0000000000..87ce20d9a6 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-106-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-106-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-106-mode-02 new file mode 100644 index 0000000000..a66f15d3b4 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-106-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-107-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-107-mode-00 new file mode 100644 index 0000000000..2cf084e75f Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-107-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-107-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-107-mode-01 new file mode 100644 index 0000000000..2db3ed5a26 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-107-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-107-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-107-mode-02 new file mode 100644 index 0000000000..ce56e102e7 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-107-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-108-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-108-mode-00 new file mode 100644 index 0000000000..0b9f33330e Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-108-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-108-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-108-mode-01 new file mode 100644 index 0000000000..144c38dca7 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-108-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-108-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-108-mode-02 new file mode 100644 index 0000000000..9963d3b53c Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-108-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-109-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-109-mode-00 new file mode 100644 index 0000000000..5f8d1e4a9e Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-109-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-109-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-109-mode-01 new file mode 100644 index 0000000000..7a62d67db1 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-109-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-109-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-109-mode-02 new file mode 100644 index 0000000000..6f3f4c785f Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-109-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-110-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-110-mode-00 new file mode 100644 index 0000000000..8c536950fa Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-110-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-110-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-110-mode-01 new file mode 100644 index 0000000000..d472e09332 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-110-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-110-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-110-mode-02 new file mode 100644 index 0000000000..05cb036de8 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-110-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-111-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-111-mode-00 new file mode 100644 index 0000000000..b6cf807c98 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-111-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-111-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-111-mode-01 new file mode 100644 index 0000000000..cbbf96dfe4 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-111-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-111-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-111-mode-02 new file mode 100644 index 0000000000..d1ddacc451 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-111-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-112-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-112-mode-00 new file mode 100644 index 0000000000..695d3423b1 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-112-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-112-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-112-mode-01 new file mode 100644 index 0000000000..67de97f9df Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-112-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-112-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-112-mode-02 new file mode 100644 index 0000000000..3b5d7aa24c Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-112-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-113-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-113-mode-00 new file mode 100644 index 0000000000..ed027846ac Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-113-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-113-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-113-mode-01 new file mode 100644 index 0000000000..485ae2eac9 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-113-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-113-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-113-mode-02 new file mode 100644 index 0000000000..b028758c40 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-113-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-114-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-114-mode-00 new file mode 100644 index 0000000000..51157ae867 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-114-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-114-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-114-mode-01 new file mode 100644 index 0000000000..d0795c8d68 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-114-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-114-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-114-mode-02 new file mode 100644 index 0000000000..340ab85195 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-114-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-115-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-115-mode-00 new file mode 100644 index 0000000000..e4018e9181 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-115-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-115-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-115-mode-01 new file mode 100644 index 0000000000..59c4f059cb Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-115-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-115-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-115-mode-02 new file mode 100644 index 0000000000..635a9fbe9e Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-115-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-116-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-116-mode-00 new file mode 100644 index 0000000000..dc4d53c049 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-116-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-116-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-116-mode-01 new file mode 100644 index 0000000000..64e548a11b Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-116-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-116-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-116-mode-02 new file mode 100644 index 0000000000..d937b5a3db Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-116-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-117-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-117-mode-00 new file mode 100644 index 0000000000..2327dcfb6b Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-117-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-117-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-117-mode-01 new file mode 100644 index 0000000000..216a3eaa7a Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-117-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-117-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-117-mode-02 new file mode 100644 index 0000000000..c8bf7c8c91 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-117-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-118-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-118-mode-00 new file mode 100644 index 0000000000..6270a41ab8 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-118-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-118-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-118-mode-01 new file mode 100644 index 0000000000..a30c501e90 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-118-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-118-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-118-mode-02 new file mode 100644 index 0000000000..a9107debcb Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-118-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-119-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-119-mode-00 new file mode 100644 index 0000000000..162b007d18 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-119-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-119-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-119-mode-01 new file mode 100644 index 0000000000..242b7f70d7 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-119-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-119-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-119-mode-02 new file mode 100644 index 0000000000..c6bdb4b94f Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-119-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-120-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-120-mode-00 new file mode 100644 index 0000000000..f90ee32440 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-120-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-120-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-120-mode-01 new file mode 100644 index 0000000000..014d8fe0c4 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-120-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-120-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-120-mode-02 new file mode 100644 index 0000000000..61f82decff Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-120-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-121-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-121-mode-00 new file mode 100644 index 0000000000..e7cd92dcbe Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-121-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-121-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-121-mode-01 new file mode 100644 index 0000000000..1cf4e4d4f7 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-121-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-121-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-121-mode-02 new file mode 100644 index 0000000000..19b36c360d Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-121-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-122-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-122-mode-00 new file mode 100644 index 0000000000..2fe2d08a5b Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-122-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-122-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-122-mode-01 new file mode 100644 index 0000000000..b7b7ea3e13 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-122-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-122-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-122-mode-02 new file mode 100644 index 0000000000..89c6e314ea Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-122-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-123-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-123-mode-00 new file mode 100644 index 0000000000..7860dff6b1 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-123-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-123-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-123-mode-01 new file mode 100644 index 0000000000..c6cf2907be Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-123-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-123-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-123-mode-02 new file mode 100644 index 0000000000..7a37856256 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-123-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-124-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-124-mode-00 new file mode 100644 index 0000000000..b2d6df902a Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-124-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-124-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-124-mode-01 new file mode 100644 index 0000000000..bf2d5e24c7 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-124-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-124-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-124-mode-02 new file mode 100644 index 0000000000..522187536e Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-124-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-125-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-125-mode-00 new file mode 100644 index 0000000000..52178245c3 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-125-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-125-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-125-mode-01 new file mode 100644 index 0000000000..7bb9ab4c7c Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-125-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-125-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-125-mode-02 new file mode 100644 index 0000000000..bf695e47b5 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-125-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-126-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-126-mode-00 new file mode 100644 index 0000000000..692988cf81 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-126-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-126-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-126-mode-01 new file mode 100644 index 0000000000..b7d81776b7 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-126-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-126-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-126-mode-02 new file mode 100644 index 0000000000..58b2eb4c9b Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-126-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-127-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-127-mode-00 new file mode 100644 index 0000000000..49206df1f0 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-127-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-127-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-127-mode-01 new file mode 100644 index 0000000000..b931d339ea Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-127-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-127-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-127-mode-02 new file mode 100644 index 0000000000..efe6f18901 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-127-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-128-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-128-mode-00 new file mode 100644 index 0000000000..1637a3668f Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-128-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-128-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-128-mode-01 new file mode 100644 index 0000000000..fa0c4381a9 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-128-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-128-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-128-mode-02 new file mode 100644 index 0000000000..85150d45e9 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-128-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-129-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-129-mode-00 new file mode 100644 index 0000000000..25b398a834 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-129-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-129-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-129-mode-01 new file mode 100644 index 0000000000..d409635e8d Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-129-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-129-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-129-mode-02 new file mode 100644 index 0000000000..c17d4e8146 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-129-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-130-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-130-mode-00 new file mode 100644 index 0000000000..50a9d71a39 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-130-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-130-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-130-mode-01 new file mode 100644 index 0000000000..e8b414b257 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-130-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-130-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-130-mode-02 new file mode 100644 index 0000000000..a239c4a058 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-130-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-131-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-131-mode-00 new file mode 100644 index 0000000000..9e7d9ee57f Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-131-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-131-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-131-mode-01 new file mode 100644 index 0000000000..6c60414e2b Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-131-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-131-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-131-mode-02 new file mode 100644 index 0000000000..6cbb37c417 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-131-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-132-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-132-mode-00 new file mode 100644 index 0000000000..c7b4cdd3c6 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-132-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-132-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-132-mode-01 new file mode 100644 index 0000000000..f9a0d064dd Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-132-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-132-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-132-mode-02 new file mode 100644 index 0000000000..cd7afc2c60 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-132-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-133-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-133-mode-00 new file mode 100644 index 0000000000..7cdb701bbc Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-133-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-133-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-133-mode-01 new file mode 100644 index 0000000000..88b309db45 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-133-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-133-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-133-mode-02 new file mode 100644 index 0000000000..580fc72547 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-133-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-134-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-134-mode-00 new file mode 100644 index 0000000000..db2f4df015 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-134-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-134-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-134-mode-01 new file mode 100644 index 0000000000..d443c7c956 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-134-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-134-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-134-mode-02 new file mode 100644 index 0000000000..767048d804 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-134-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-135-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-135-mode-00 new file mode 100644 index 0000000000..722dc332ed Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-135-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-135-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-135-mode-01 new file mode 100644 index 0000000000..bf576cc7b0 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-135-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-135-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-135-mode-02 new file mode 100644 index 0000000000..12fe447d13 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-135-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-136-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-136-mode-00 new file mode 100644 index 0000000000..738bbdf5be Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-136-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-136-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-136-mode-01 new file mode 100644 index 0000000000..5db8fd09be Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-136-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-136-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-136-mode-02 new file mode 100644 index 0000000000..30a7a77275 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-136-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-137-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-137-mode-00 new file mode 100644 index 0000000000..ef16f0126d Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-137-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-137-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-137-mode-01 new file mode 100644 index 0000000000..546a7bda9a Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-137-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-137-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-137-mode-02 new file mode 100644 index 0000000000..e2ac32ab4f Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-137-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-138-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-138-mode-00 new file mode 100644 index 0000000000..f673059600 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-138-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-138-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-138-mode-01 new file mode 100644 index 0000000000..cdfc5acfc4 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-138-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-138-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-138-mode-02 new file mode 100644 index 0000000000..a5190d572d Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-138-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-139-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-139-mode-00 new file mode 100644 index 0000000000..79d5c9ff6e Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-139-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-139-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-139-mode-01 new file mode 100644 index 0000000000..6c99c215da Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-139-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-139-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-139-mode-02 new file mode 100644 index 0000000000..5c014bac52 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-139-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-140-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-140-mode-00 new file mode 100644 index 0000000000..b8135c1ded Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-140-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-140-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-140-mode-01 new file mode 100644 index 0000000000..1703b9c3b1 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-140-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-140-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-140-mode-02 new file mode 100644 index 0000000000..e50a83bddb Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-140-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-141-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-141-mode-00 new file mode 100644 index 0000000000..34cd023c8e Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-141-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-141-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-141-mode-01 new file mode 100644 index 0000000000..a6ed7b1c82 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-141-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-141-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-141-mode-02 new file mode 100644 index 0000000000..e03ab710f5 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-141-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-142-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-142-mode-00 new file mode 100644 index 0000000000..aa33649369 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-142-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-142-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-142-mode-01 new file mode 100644 index 0000000000..fe92698e18 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-142-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-142-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-142-mode-02 new file mode 100644 index 0000000000..581c2a8fcf Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-142-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-143-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-143-mode-00 new file mode 100644 index 0000000000..02220c4571 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-143-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-143-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-143-mode-01 new file mode 100644 index 0000000000..29ee9ad149 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-143-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-143-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-143-mode-02 new file mode 100644 index 0000000000..7d7d81d20d Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-143-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-144-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-144-mode-00 new file mode 100644 index 0000000000..60c26a0253 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-144-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-144-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-144-mode-01 new file mode 100644 index 0000000000..ae24d7594c Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-144-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-144-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-144-mode-02 new file mode 100644 index 0000000000..e70e6132f2 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-144-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-145-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-145-mode-00 new file mode 100644 index 0000000000..6e5fba1e54 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-145-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-145-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-145-mode-01 new file mode 100644 index 0000000000..65c464d670 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-145-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-145-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-145-mode-02 new file mode 100644 index 0000000000..675f695d43 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-145-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-146-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-146-mode-00 new file mode 100644 index 0000000000..e1f7781c76 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-146-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-146-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-146-mode-01 new file mode 100644 index 0000000000..efb5ccb83f Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-146-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-146-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-146-mode-02 new file mode 100644 index 0000000000..a4ad51eb71 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-146-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-147-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-147-mode-00 new file mode 100644 index 0000000000..f3ce0cbcd6 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-147-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-147-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-147-mode-01 new file mode 100644 index 0000000000..d5a4f6018c Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-147-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-147-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-147-mode-02 new file mode 100644 index 0000000000..bbb3495252 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-147-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-148-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-148-mode-00 new file mode 100644 index 0000000000..c535190d6e Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-148-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-148-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-148-mode-01 new file mode 100644 index 0000000000..8c9bcdca4d Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-148-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-148-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-148-mode-02 new file mode 100644 index 0000000000..e74402678d Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-148-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-149-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-149-mode-00 new file mode 100644 index 0000000000..7f5e146c41 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-149-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-149-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-149-mode-01 new file mode 100644 index 0000000000..2379956b26 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-149-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-149-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-149-mode-02 new file mode 100644 index 0000000000..1104b79a54 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-149-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-150-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-150-mode-00 new file mode 100644 index 0000000000..4be72e5482 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-150-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-150-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-150-mode-01 new file mode 100644 index 0000000000..29c6cc105b Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-150-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-150-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-150-mode-02 new file mode 100644 index 0000000000..d41944c53b Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-150-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-151-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-151-mode-00 new file mode 100644 index 0000000000..f8a868bbc4 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-151-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-151-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-151-mode-01 new file mode 100644 index 0000000000..c3eef0d16b Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-151-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-151-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-151-mode-02 new file mode 100644 index 0000000000..c1ed7a19e3 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-151-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-152-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-152-mode-00 new file mode 100644 index 0000000000..dae61a5a09 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-152-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-152-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-152-mode-01 new file mode 100644 index 0000000000..46b836b746 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-152-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-152-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-152-mode-02 new file mode 100644 index 0000000000..a5301e351d Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-152-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-153-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-153-mode-00 new file mode 100644 index 0000000000..f6f72d4508 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-153-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-153-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-153-mode-01 new file mode 100644 index 0000000000..320a5b099b Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-153-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-153-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-153-mode-02 new file mode 100644 index 0000000000..e25b2dd9b5 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-153-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-154-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-154-mode-00 new file mode 100644 index 0000000000..7b97dd73b8 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-154-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-154-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-154-mode-01 new file mode 100644 index 0000000000..e66989af0a Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-154-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-154-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-154-mode-02 new file mode 100644 index 0000000000..c6f20ce021 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-154-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-155-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-155-mode-00 new file mode 100644 index 0000000000..30d4adcf68 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-155-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-155-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-155-mode-01 new file mode 100644 index 0000000000..08be5136a9 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-155-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-155-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-155-mode-02 new file mode 100644 index 0000000000..56f1e37164 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-155-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-156-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-156-mode-00 new file mode 100644 index 0000000000..4763a28c9c Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-156-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-156-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-156-mode-01 new file mode 100644 index 0000000000..96271d721a Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-156-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-156-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-156-mode-02 new file mode 100644 index 0000000000..5e62eac454 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-156-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-157-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-157-mode-00 new file mode 100644 index 0000000000..08018a0c21 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-157-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-157-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-157-mode-01 new file mode 100644 index 0000000000..7ba45e6909 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-157-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-157-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-157-mode-02 new file mode 100644 index 0000000000..4aab056503 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-157-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-158-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-158-mode-00 new file mode 100644 index 0000000000..862a7a4f9b Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-158-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-158-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-158-mode-01 new file mode 100644 index 0000000000..0fa4251c30 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-158-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-158-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-158-mode-02 new file mode 100644 index 0000000000..02d682b64f Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-158-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-159-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-159-mode-00 new file mode 100644 index 0000000000..de367cadcd Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-159-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-159-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-159-mode-01 new file mode 100644 index 0000000000..6bfb1ff361 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-159-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-159-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-159-mode-02 new file mode 100644 index 0000000000..0ff8024007 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-159-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-160-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-160-mode-00 new file mode 100644 index 0000000000..374168c0b7 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-160-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-160-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-160-mode-01 new file mode 100644 index 0000000000..865ceb9a33 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-160-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-160-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-160-mode-02 new file mode 100644 index 0000000000..7d45353774 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-160-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-161-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-161-mode-00 new file mode 100644 index 0000000000..b4f13e18f7 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-161-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-161-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-161-mode-01 new file mode 100644 index 0000000000..1210b1c510 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-161-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-161-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-161-mode-02 new file mode 100644 index 0000000000..bad783b711 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-161-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-162-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-162-mode-00 new file mode 100644 index 0000000000..44b83b2ec3 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-162-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-162-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-162-mode-01 new file mode 100644 index 0000000000..96ae6f68c3 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-162-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-162-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-162-mode-02 new file mode 100644 index 0000000000..5f187195b3 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-162-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-163-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-163-mode-00 new file mode 100644 index 0000000000..195eb90ab5 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-163-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-163-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-163-mode-01 new file mode 100644 index 0000000000..76dbfe7862 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-163-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-163-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-163-mode-02 new file mode 100644 index 0000000000..db1bd54ae5 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-163-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-164-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-164-mode-00 new file mode 100644 index 0000000000..09e0ef78fa Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-164-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-164-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-164-mode-01 new file mode 100644 index 0000000000..bf5d859c8d Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-164-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-164-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-164-mode-02 new file mode 100644 index 0000000000..e2cbf204e6 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-164-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-165-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-165-mode-00 new file mode 100644 index 0000000000..066722fc3b Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-165-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-165-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-165-mode-01 new file mode 100644 index 0000000000..7861bc0480 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-165-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-165-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-165-mode-02 new file mode 100644 index 0000000000..d77d8e88fa Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-165-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-166-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-166-mode-00 new file mode 100644 index 0000000000..3821d96049 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-166-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-166-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-166-mode-01 new file mode 100644 index 0000000000..71ae8d9410 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-166-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-166-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-166-mode-02 new file mode 100644 index 0000000000..b6d876e438 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-166-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-167-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-167-mode-00 new file mode 100644 index 0000000000..6e131541b2 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-167-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-167-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-167-mode-01 new file mode 100644 index 0000000000..71a69ad665 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-167-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-167-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-167-mode-02 new file mode 100644 index 0000000000..3bf39d8e96 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-167-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-168-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-168-mode-00 new file mode 100644 index 0000000000..99ef30f140 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-168-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-168-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-168-mode-01 new file mode 100644 index 0000000000..abe0278c40 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-168-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-168-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-168-mode-02 new file mode 100644 index 0000000000..b0590da4ed Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-168-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-169-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-169-mode-00 new file mode 100644 index 0000000000..f82ace73a8 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-169-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-169-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-169-mode-01 new file mode 100644 index 0000000000..83dbd9fe23 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-169-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-169-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-169-mode-02 new file mode 100644 index 0000000000..2c8e8fa190 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-169-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-170-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-170-mode-00 new file mode 100644 index 0000000000..6a2cba1b88 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-170-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-170-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-170-mode-01 new file mode 100644 index 0000000000..7c2224a72c Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-170-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-170-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-170-mode-02 new file mode 100644 index 0000000000..d088f0ac3f Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-170-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-171-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-171-mode-00 new file mode 100644 index 0000000000..3e115b9943 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-171-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-171-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-171-mode-01 new file mode 100644 index 0000000000..86181c84ae Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-171-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-171-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-171-mode-02 new file mode 100644 index 0000000000..f53cbcfe3f Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-171-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-172-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-172-mode-00 new file mode 100644 index 0000000000..a595544359 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-172-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-172-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-172-mode-01 new file mode 100644 index 0000000000..6bc714ed0b Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-172-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-172-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-172-mode-02 new file mode 100644 index 0000000000..279305293e Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-172-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-173-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-173-mode-00 new file mode 100644 index 0000000000..f58192276f Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-173-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-173-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-173-mode-01 new file mode 100644 index 0000000000..01e3a78001 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-173-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-173-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-173-mode-02 new file mode 100644 index 0000000000..16d17a73a4 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-173-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-174-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-174-mode-00 new file mode 100644 index 0000000000..f44c048f47 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-174-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-174-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-174-mode-01 new file mode 100644 index 0000000000..aaf33eba92 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-174-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-174-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-174-mode-02 new file mode 100644 index 0000000000..2ca59dc382 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-174-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-175-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-175-mode-00 new file mode 100644 index 0000000000..d015d8fe4e Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-175-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-175-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-175-mode-01 new file mode 100644 index 0000000000..476a712ab6 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-175-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-175-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-175-mode-02 new file mode 100644 index 0000000000..65df26d7b9 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-175-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-176-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-176-mode-00 new file mode 100644 index 0000000000..1bd6d34fb2 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-176-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-176-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-176-mode-01 new file mode 100644 index 0000000000..70e3fa6dcc Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-176-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-176-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-176-mode-02 new file mode 100644 index 0000000000..f88d3329d7 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-176-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-177-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-177-mode-00 new file mode 100644 index 0000000000..b83c4277d7 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-177-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-177-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-177-mode-01 new file mode 100644 index 0000000000..98715d8d28 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-177-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-177-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-177-mode-02 new file mode 100644 index 0000000000..44b68ee951 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-177-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-178-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-178-mode-00 new file mode 100644 index 0000000000..ea6a3411ad Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-178-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-178-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-178-mode-01 new file mode 100644 index 0000000000..c08bb4af9e Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-178-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-178-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-178-mode-02 new file mode 100644 index 0000000000..c2d1e8e894 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-178-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-179-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-179-mode-00 new file mode 100644 index 0000000000..c21376b72a Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-179-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-179-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-179-mode-01 new file mode 100644 index 0000000000..ad9faf245a Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-179-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-179-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-179-mode-02 new file mode 100644 index 0000000000..a976013b91 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-179-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-180-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-180-mode-00 new file mode 100644 index 0000000000..e5ab4453ea Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-180-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-180-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-180-mode-01 new file mode 100644 index 0000000000..6d8dcaed53 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-180-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-180-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-180-mode-02 new file mode 100644 index 0000000000..1dbfbff2af Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-180-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-181-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-181-mode-00 new file mode 100644 index 0000000000..6c7fd200f7 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-181-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-181-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-181-mode-01 new file mode 100644 index 0000000000..02e10a5b69 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-181-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-181-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-181-mode-02 new file mode 100644 index 0000000000..0fcd8f8851 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-181-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-182-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-182-mode-00 new file mode 100644 index 0000000000..2526dfe1e3 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-182-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-182-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-182-mode-01 new file mode 100644 index 0000000000..7bd4c35fce Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-182-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-182-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-182-mode-02 new file mode 100644 index 0000000000..181ec0ea8c Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-182-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-183-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-183-mode-00 new file mode 100644 index 0000000000..9a99adcad7 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-183-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-183-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-183-mode-01 new file mode 100644 index 0000000000..2ac095ce0c Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-183-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-183-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-183-mode-02 new file mode 100644 index 0000000000..ad1a4d779d Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-183-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-184-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-184-mode-00 new file mode 100644 index 0000000000..efbad31659 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-184-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-184-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-184-mode-01 new file mode 100644 index 0000000000..9a4b4549b8 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-184-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-184-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-184-mode-02 new file mode 100644 index 0000000000..653d6cf6ab Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-184-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-185-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-185-mode-00 new file mode 100644 index 0000000000..f13fb95287 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-185-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-185-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-185-mode-01 new file mode 100644 index 0000000000..0ea26eecf8 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-185-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-185-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-185-mode-02 new file mode 100644 index 0000000000..6d60b7ca58 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-185-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-186-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-186-mode-00 new file mode 100644 index 0000000000..ed0a9a5a68 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-186-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-186-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-186-mode-01 new file mode 100644 index 0000000000..d42e28f991 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-186-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-186-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-186-mode-02 new file mode 100644 index 0000000000..0e48f73a2b Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-186-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-187-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-187-mode-00 new file mode 100644 index 0000000000..8fe355b512 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-187-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-187-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-187-mode-01 new file mode 100644 index 0000000000..d24c364a80 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-187-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-187-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-187-mode-02 new file mode 100644 index 0000000000..bafe4ed5a4 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-187-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-188-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-188-mode-00 new file mode 100644 index 0000000000..2ff4e2acb0 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-188-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-188-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-188-mode-01 new file mode 100644 index 0000000000..e89681d9e7 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-188-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-188-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-188-mode-02 new file mode 100644 index 0000000000..e00ed8e35f Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-188-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-189-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-189-mode-00 new file mode 100644 index 0000000000..aea10f7f7c Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-189-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-189-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-189-mode-01 new file mode 100644 index 0000000000..ad07781794 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-189-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-189-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-189-mode-02 new file mode 100644 index 0000000000..acbe1bfde1 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-189-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-190-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-190-mode-00 new file mode 100644 index 0000000000..83fad34c97 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-190-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-190-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-190-mode-01 new file mode 100644 index 0000000000..1282c1b585 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-190-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-190-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-190-mode-02 new file mode 100644 index 0000000000..e6404c1da4 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-190-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-191-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-191-mode-00 new file mode 100644 index 0000000000..93419d9900 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-191-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-191-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-191-mode-01 new file mode 100644 index 0000000000..bf3aef0f0c Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-191-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-191-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-191-mode-02 new file mode 100644 index 0000000000..0324328411 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-191-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-192-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-192-mode-00 new file mode 100644 index 0000000000..2c7062e961 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-192-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-192-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-192-mode-01 new file mode 100644 index 0000000000..6205c21348 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-192-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-192-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-192-mode-02 new file mode 100644 index 0000000000..dd4130dd84 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-192-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-193-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-193-mode-00 new file mode 100644 index 0000000000..cecbc3fc11 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-193-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-193-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-193-mode-01 new file mode 100644 index 0000000000..56ccbc6388 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-193-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-193-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-193-mode-02 new file mode 100644 index 0000000000..065010020d Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-193-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-194-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-194-mode-00 new file mode 100644 index 0000000000..2171d96e1c Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-194-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-194-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-194-mode-01 new file mode 100644 index 0000000000..699200a1d8 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-194-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-194-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-194-mode-02 new file mode 100644 index 0000000000..161ba70d48 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-194-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-195-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-195-mode-00 new file mode 100644 index 0000000000..c7ade6a58f Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-195-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-195-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-195-mode-01 new file mode 100644 index 0000000000..dd8868af1d Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-195-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-195-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-195-mode-02 new file mode 100644 index 0000000000..12674ac422 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-195-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-196-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-196-mode-00 new file mode 100644 index 0000000000..fb4ed44d21 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-196-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-196-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-196-mode-01 new file mode 100644 index 0000000000..03a23669f9 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-196-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-196-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-196-mode-02 new file mode 100644 index 0000000000..9ce1334cb7 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-196-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-197-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-197-mode-00 new file mode 100644 index 0000000000..4a428bba76 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-197-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-197-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-197-mode-01 new file mode 100644 index 0000000000..d6a397ad87 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-197-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-197-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-197-mode-02 new file mode 100644 index 0000000000..cdac3bcb7b Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-197-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-198-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-198-mode-00 new file mode 100644 index 0000000000..0d5b98358a Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-198-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-198-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-198-mode-01 new file mode 100644 index 0000000000..81a0995870 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-198-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-198-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-198-mode-02 new file mode 100644 index 0000000000..39da2f6c4d Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-198-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-199-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-199-mode-00 new file mode 100644 index 0000000000..d32577d94b Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-199-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-199-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-199-mode-01 new file mode 100644 index 0000000000..595ac59f14 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-199-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-199-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-199-mode-02 new file mode 100644 index 0000000000..63515d14d5 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-199-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-200-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-200-mode-00 new file mode 100644 index 0000000000..44c39bc88b Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-200-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-200-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-200-mode-01 new file mode 100644 index 0000000000..313f2f4e84 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-200-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-200-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-200-mode-02 new file mode 100644 index 0000000000..f74be00346 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-200-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-201-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-201-mode-00 new file mode 100644 index 0000000000..9dd7d277d6 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-201-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-201-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-201-mode-01 new file mode 100644 index 0000000000..836417637c Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-201-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-201-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-201-mode-02 new file mode 100644 index 0000000000..ebb370032d Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-201-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-202-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-202-mode-00 new file mode 100644 index 0000000000..5287ba9e6b Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-202-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-202-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-202-mode-01 new file mode 100644 index 0000000000..4edfe0acf5 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-202-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-202-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-202-mode-02 new file mode 100644 index 0000000000..fb7ad5614b Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-202-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-203-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-203-mode-00 new file mode 100644 index 0000000000..83150a0285 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-203-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-203-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-203-mode-01 new file mode 100644 index 0000000000..2c7a569726 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-203-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-203-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-203-mode-02 new file mode 100644 index 0000000000..a70c880ecf Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-203-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-204-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-204-mode-00 new file mode 100644 index 0000000000..9d3f756bdb Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-204-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-204-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-204-mode-01 new file mode 100644 index 0000000000..dfc14d7bd8 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-204-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-204-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-204-mode-02 new file mode 100644 index 0000000000..45da47e4f0 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-204-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-205-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-205-mode-00 new file mode 100644 index 0000000000..fd0fc5f8bc Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-205-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-205-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-205-mode-01 new file mode 100644 index 0000000000..3ae82f6f44 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-205-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-205-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-205-mode-02 new file mode 100644 index 0000000000..05a8921585 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-205-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-206-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-206-mode-00 new file mode 100644 index 0000000000..cb407e9da5 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-206-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-206-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-206-mode-01 new file mode 100644 index 0000000000..eacc88e3de Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-206-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-206-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-206-mode-02 new file mode 100644 index 0000000000..74da4a3ffd Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-206-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-207-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-207-mode-00 new file mode 100644 index 0000000000..9fba209446 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-207-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-207-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-207-mode-01 new file mode 100644 index 0000000000..ad6398c55c Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-207-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-207-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-207-mode-02 new file mode 100644 index 0000000000..c657c594bf Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-207-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-208-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-208-mode-00 new file mode 100644 index 0000000000..6fddda35fb Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-208-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-208-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-208-mode-01 new file mode 100644 index 0000000000..85a0193862 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-208-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-208-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-208-mode-02 new file mode 100644 index 0000000000..118c23e430 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-208-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-209-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-209-mode-00 new file mode 100644 index 0000000000..f925df74b4 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-209-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-209-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-209-mode-01 new file mode 100644 index 0000000000..4d3daa4810 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-209-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-209-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-209-mode-02 new file mode 100644 index 0000000000..29d619725e Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-209-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-210-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-210-mode-00 new file mode 100644 index 0000000000..9bffcd1083 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-210-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-210-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-210-mode-01 new file mode 100644 index 0000000000..321d537bc8 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-210-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-210-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-210-mode-02 new file mode 100644 index 0000000000..ec8b1551d0 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-210-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-211-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-211-mode-00 new file mode 100644 index 0000000000..17fd2774dd Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-211-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-211-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-211-mode-01 new file mode 100644 index 0000000000..3cc50ab7f6 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-211-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-211-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-211-mode-02 new file mode 100644 index 0000000000..b85b7fbd74 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-211-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-212-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-212-mode-00 new file mode 100644 index 0000000000..fba6a50ed6 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-212-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-212-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-212-mode-01 new file mode 100644 index 0000000000..594bb0e8f7 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-212-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-212-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-212-mode-02 new file mode 100644 index 0000000000..08d06b219b Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-212-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-213-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-213-mode-00 new file mode 100644 index 0000000000..3e7a4653ed Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-213-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-213-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-213-mode-01 new file mode 100644 index 0000000000..230948a688 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-213-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-213-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-213-mode-02 new file mode 100644 index 0000000000..fab5616de2 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-213-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-214-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-214-mode-00 new file mode 100644 index 0000000000..874d557b7c Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-214-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-214-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-214-mode-01 new file mode 100644 index 0000000000..52e2c87199 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-214-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-214-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-214-mode-02 new file mode 100644 index 0000000000..7a62e8c8b3 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-214-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-215-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-215-mode-00 new file mode 100644 index 0000000000..3aff5ae945 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-215-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-215-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-215-mode-01 new file mode 100644 index 0000000000..f76d36aebd Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-215-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-215-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-215-mode-02 new file mode 100644 index 0000000000..36282f6e95 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-215-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-216-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-216-mode-00 new file mode 100644 index 0000000000..d0bb47a63f Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-216-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-216-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-216-mode-01 new file mode 100644 index 0000000000..5e3bef6a55 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-216-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-216-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-216-mode-02 new file mode 100644 index 0000000000..fc8915c1fc Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-216-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-217-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-217-mode-00 new file mode 100644 index 0000000000..0db5d03566 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-217-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-217-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-217-mode-01 new file mode 100644 index 0000000000..56084f15ba Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-217-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-217-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-217-mode-02 new file mode 100644 index 0000000000..686adcb297 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-217-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-218-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-218-mode-00 new file mode 100644 index 0000000000..797ce3cbad Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-218-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-218-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-218-mode-01 new file mode 100644 index 0000000000..f1a7e26016 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-218-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-218-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-218-mode-02 new file mode 100644 index 0000000000..a9921043b3 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-218-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-219-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-219-mode-00 new file mode 100644 index 0000000000..63b4b0f404 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-219-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-219-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-219-mode-01 new file mode 100644 index 0000000000..700acc8110 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-219-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-219-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-219-mode-02 new file mode 100644 index 0000000000..66cf02b910 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-219-mode-02 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-220-mode-00 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-220-mode-00 new file mode 100644 index 0000000000..58b4d024fd Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-220-mode-00 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-220-mode-01 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-220-mode-01 new file mode 100644 index 0000000000..016e0ef696 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-220-mode-01 differ diff --git a/tests/fuzz/corpus/fuzz_test_sig_verify/alg-220-mode-02 b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-220-mode-02 new file mode 100644 index 0000000000..129e3903b7 Binary files /dev/null and b/tests/fuzz/corpus/fuzz_test_sig_verify/alg-220-mode-02 differ diff --git a/tests/fuzz/fuzz_helpers.c b/tests/fuzz/fuzz_helpers.c new file mode 100644 index 0000000000..3ba1c4d806 --- /dev/null +++ b/tests/fuzz/fuzz_helpers.c @@ -0,0 +1,370 @@ +// SPDX-License-Identifier: MIT + +#include "fuzz_helpers.h" + +#include +#include +#include + +#include + +#ifndef OQS_FUZZ_SOURCE_DIR +#define OQS_FUZZ_SOURCE_DIR "." +#endif + +#define OQS_FUZZ_LMS_PRIVATE_KEY_LEN 64 +#define OQS_FUZZ_LMS_PARAM_OFFSET 8 +#define OQS_FUZZ_LMS_PARAM_SLOTS 8 + +static uint64_t oqs_fuzz_prng_state = UINT64_C(0x9e3779b97f4a7c15); + +static void oqs_fuzz_randombytes(uint8_t *random_array, size_t bytes_to_read) { + for (size_t i = 0; i < bytes_to_read; i++) { + oqs_fuzz_prng_state ^= oqs_fuzz_prng_state >> 12; + oqs_fuzz_prng_state ^= oqs_fuzz_prng_state << 25; + oqs_fuzz_prng_state ^= oqs_fuzz_prng_state >> 27; + oqs_fuzz_prng_state *= UINT64_C(0x2545f4914f6cdd1d); + random_array[i] = (uint8_t)(oqs_fuzz_prng_state >> 56); + } +} + +void oqs_fuzz_init(void) { + OQS_init(); + OQS_randombytes_custom_algorithm(&oqs_fuzz_randombytes); +} + +void oqs_fuzz_seed_prng(uint64_t seed) { + if (seed == 0) { + seed = UINT64_C(0x9e3779b97f4a7c15); + } + oqs_fuzz_prng_state = seed; +} + +uint64_t oqs_fuzz_hash(const uint8_t *data, size_t data_len, uint64_t seed) { + uint64_t hash = seed ^ UINT64_C(0xcbf29ce484222325); + for (size_t i = 0; i < data_len; i++) { + hash ^= data[i]; + hash *= UINT64_C(0x100000001b3); + } + return hash; +} + +bool oqs_fuzz_read_header(const uint8_t *data, size_t data_len, oqs_fuzz_header *header, oqs_fuzz_cursor *cursor) { + if (data == NULL || header == NULL || cursor == NULL || data_len < OQS_FUZZ_HEADER_SIZE) { + return false; + } + + header->version = data[0]; + header->algorithm_index = (uint16_t)((uint16_t)data[1] | ((uint16_t)data[2] << 8)); + header->mode = data[3]; + header->flags = data[4]; + + cursor->data = data; + cursor->size = data_len; + cursor->offset = OQS_FUZZ_HEADER_SIZE; + return true; +} + +size_t oqs_fuzz_remaining(const oqs_fuzz_cursor *cursor) { + if (cursor == NULL || cursor->offset >= cursor->size) { + return 0; + } + return cursor->size - cursor->offset; +} + +uint8_t oqs_fuzz_take_u8(oqs_fuzz_cursor *cursor, uint8_t fallback) { + if (oqs_fuzz_remaining(cursor) < 1) { + return fallback; + } + return cursor->data[cursor->offset++]; +} + +uint32_t oqs_fuzz_take_u32(oqs_fuzz_cursor *cursor, uint32_t fallback) { + if (oqs_fuzz_remaining(cursor) < 4) { + return fallback; + } + + uint32_t value = (uint32_t)cursor->data[cursor->offset]; + value |= (uint32_t)cursor->data[cursor->offset + 1] << 8; + value |= (uint32_t)cursor->data[cursor->offset + 2] << 16; + value |= (uint32_t)cursor->data[cursor->offset + 3] << 24; + cursor->offset += 4; + return value; +} + +size_t oqs_fuzz_take_size(oqs_fuzz_cursor *cursor, size_t max_value, size_t fallback) { + if (max_value == 0) { + return 0; + } + if (oqs_fuzz_remaining(cursor) < 4) { + return fallback <= max_value ? fallback : max_value; + } + + uint32_t value = oqs_fuzz_take_u32(cursor, 0); + return (size_t)value % (max_value + 1); +} + +void oqs_fuzz_copy_baseline(uint8_t *dst, size_t dst_len, const uint8_t *baseline, size_t baseline_len) { + if (dst == NULL || dst_len == 0) { + return; + } + + memset(dst, 0, dst_len); + if (baseline != NULL && baseline_len > 0) { + size_t copy_len = baseline_len < dst_len ? baseline_len : dst_len; + memcpy(dst, baseline, copy_len); + } +} + +void oqs_fuzz_patch(uint8_t *dst, size_t dst_len, size_t start, oqs_fuzz_cursor *cursor, size_t max_bytes) { + if (dst == NULL || dst_len == 0 || cursor == NULL || max_bytes == 0) { + return; + } + + size_t remaining = oqs_fuzz_remaining(cursor); + size_t patch_len = remaining < max_bytes ? remaining : max_bytes; + if (patch_len > dst_len) { + patch_len = dst_len; + } + if (patch_len == 0) { + return; + } + + size_t offset = start % dst_len; + for (size_t i = 0; i < patch_len; i++) { + dst[(offset + i) % dst_len] = cursor->data[cursor->offset + i]; + } + cursor->offset += patch_len; +} + +static bool oqs_fuzz_build_stfl_kat_path(const char *method_name, char *path, size_t path_len) { + if (method_name == NULL || path == NULL || path_len == 0) { + return false; + } + + const char *family = strncmp(method_name, "LMS_", 4) == 0 ? "lms" : "xmss"; + char filename[128]; + size_t method_len = strlen(method_name); + if (method_len + 5 >= sizeof(filename)) { + return false; + } + + for (size_t i = 0; i < method_len; i++) { + filename[i] = method_name[i] == '/' ? '-' : method_name[i]; + } + memcpy(filename + method_len, ".rsp", 5); + + int written = snprintf(path, path_len, "%s/tests/KATs/sig_stfl/%s/%s", OQS_FUZZ_SOURCE_DIR, family, filename); + return written > 0 && (size_t)written < path_len; +} + +static bool oqs_fuzz_read_file(const char *path, char **contents, size_t *contents_len) { + if (path == NULL || contents == NULL || contents_len == NULL) { + return false; + } + + FILE *file = fopen(path, "rb"); + if (file == NULL) { + return false; + } + if (fseek(file, 0, SEEK_END) != 0) { + fclose(file); + return false; + } + long file_len = ftell(file); + if (file_len < 0 || fseek(file, 0, SEEK_SET) != 0) { + fclose(file); + return false; + } + + char *buffer = OQS_MEM_malloc((size_t)file_len + 1); + if (buffer == NULL) { + fclose(file); + return false; + } + + size_t read_len = fread(buffer, 1, (size_t)file_len, file); + fclose(file); + if (read_len != (size_t)file_len) { + OQS_MEM_insecure_free(buffer); + return false; + } + + buffer[read_len] = '\0'; + *contents = buffer; + *contents_len = read_len; + return true; +} + +static int oqs_fuzz_hex_nibble(char c) { + if (c >= '0' && c <= '9') { + return c - '0'; + } + if (c >= 'a' && c <= 'f') { + return 10 + c - 'a'; + } + if (c >= 'A' && c <= 'F') { + return 10 + c - 'A'; + } + return -1; +} + +static bool oqs_fuzz_extract_hex_field(const char *contents, const char *field, uint8_t **value, size_t *value_len) { + if (contents == NULL || field == NULL || value == NULL || value_len == NULL) { + return false; + } + + char marker[32]; + int marker_len = snprintf(marker, sizeof(marker), "%s = ", field); + if (marker_len <= 0 || (size_t)marker_len >= sizeof(marker)) { + return false; + } + + const char *start = strstr(contents, marker); + if (start == NULL) { + return false; + } + start += marker_len; + + const char *end = start; + while (*end != '\0' && *end != '\n' && *end != '\r') { + end++; + } + size_t hex_len = (size_t)(end - start); + if (hex_len == 0 || (hex_len % 2) != 0) { + return false; + } + + size_t output_len = hex_len / 2; + uint8_t *output = OQS_MEM_malloc(output_len); + if (output == NULL) { + return false; + } + + for (size_t i = 0; i < output_len; i++) { + int high = oqs_fuzz_hex_nibble(start[2 * i]); + int low = oqs_fuzz_hex_nibble(start[2 * i + 1]); + if (high < 0 || low < 0) { + OQS_MEM_insecure_free(output); + return false; + } + output[i] = (uint8_t)((high << 4) | low); + } + + *value = output; + *value_len = output_len; + return true; +} + +bool oqs_fuzz_load_stfl_kat(const char *method_name, oqs_fuzz_stfl_kat *kat) { + if (method_name == NULL || kat == NULL) { + return false; + } + + memset(kat, 0, sizeof(*kat)); + char path[512]; + if (!oqs_fuzz_build_stfl_kat_path(method_name, path, sizeof(path))) { + return false; + } + + char *contents = NULL; + size_t contents_len = 0; + if (!oqs_fuzz_read_file(path, &contents, &contents_len)) { + return false; + } + (void)contents_len; + + (void)oqs_fuzz_extract_hex_field(contents, "pk", &kat->public_key, &kat->public_key_len); + (void)oqs_fuzz_extract_hex_field(contents, "sk", &kat->secret_key, &kat->secret_key_len); + (void)oqs_fuzz_extract_hex_field(contents, "msg", &kat->message, &kat->message_len); + (void)oqs_fuzz_extract_hex_field(contents, "sm", &kat->signature, &kat->signature_len); + OQS_MEM_insecure_free(contents); + + return kat->public_key != NULL || kat->secret_key != NULL || kat->message != NULL || kat->signature != NULL; +} + +void oqs_fuzz_free_stfl_kat(oqs_fuzz_stfl_kat *kat) { + if (kat == NULL) { + return; + } + + OQS_MEM_insecure_free(kat->public_key); + OQS_MEM_secure_free(kat->secret_key, kat->secret_key_len); + OQS_MEM_insecure_free(kat->message); + OQS_MEM_insecure_free(kat->signature); + memset(kat, 0, sizeof(*kat)); +} + +static uint8_t oqs_fuzz_lms_height_code(unsigned long height) { + switch (height) { + case 5: + return 5; + case 10: + return 6; + case 15: + return 7; + case 20: + return 8; + case 25: + return 9; + default: + return 0; + } +} + +static uint8_t oqs_fuzz_lms_width_code(unsigned long width) { + switch (width) { + case 1: + return 1; + case 2: + return 2; + case 4: + return 3; + case 8: + return 4; + default: + return 0; + } +} + +bool oqs_fuzz_make_lms_secret_key(const char *method_name, uint8_t *secret_key, size_t secret_key_len) { + if (method_name == NULL || secret_key == NULL || secret_key_len < OQS_FUZZ_LMS_PRIVATE_KEY_LEN || strncmp(method_name, "LMS_SHA256_", 11) != 0) { + return false; + } + + memset(secret_key, 0, secret_key_len); + memset(secret_key + OQS_FUZZ_LMS_PARAM_OFFSET, 0xff, OQS_FUZZ_LMS_PARAM_SLOTS); + for (size_t i = OQS_FUZZ_LMS_PARAM_OFFSET + OQS_FUZZ_LMS_PARAM_SLOTS; i < OQS_FUZZ_LMS_PRIVATE_KEY_LEN; i++) { + secret_key[i] = (uint8_t)(0xa5u ^ (uint8_t)i); + } + + const char *cursor = method_name + 11; + size_t level = 0; + while (*cursor != '\0' && level < OQS_FUZZ_LMS_PARAM_SLOTS) { + if (cursor[0] != 'H') { + return false; + } + char *end = NULL; + unsigned long height = strtoul(cursor + 1, &end, 10); + if (end == NULL || end[0] != '_' || end[1] != 'W') { + return false; + } + unsigned long width = strtoul(end + 2, &end, 10); + uint8_t height_code = oqs_fuzz_lms_height_code(height); + uint8_t width_code = oqs_fuzz_lms_width_code(width); + if (height_code == 0 || width_code == 0) { + return false; + } + secret_key[OQS_FUZZ_LMS_PARAM_OFFSET + level] = (uint8_t)((height_code << 4) | width_code); + level++; + if (*end == '\0') { + break; + } + if (*end != '_') { + return false; + } + cursor = end + 1; + } + + return level > 0; +} diff --git a/tests/fuzz/fuzz_helpers.h b/tests/fuzz/fuzz_helpers.h new file mode 100644 index 0000000000..ef1b1e897e --- /dev/null +++ b/tests/fuzz/fuzz_helpers.h @@ -0,0 +1,56 @@ +// SPDX-License-Identifier: MIT + +#ifndef OQS_TESTS_FUZZ_HELPERS_H +#define OQS_TESTS_FUZZ_HELPERS_H + +#include +#include +#include + +#define OQS_FUZZ_HEADER_SIZE 5 +#define OQS_FUZZ_MAX_MESSAGE_LEN 1024 +#define OQS_FUZZ_MAX_CTX_LEN 256 +#define OQS_FUZZ_MAX_SERIALIZED_KEY_LEN 65536 +#define OQS_FUZZ_SIGNATURE_SLACK 32 + +typedef struct { + uint8_t version; + uint16_t algorithm_index; + uint8_t mode; + uint8_t flags; +} oqs_fuzz_header; + +typedef struct { + const uint8_t *data; + size_t size; + size_t offset; +} oqs_fuzz_cursor; + +typedef struct { + uint8_t *public_key; + size_t public_key_len; + uint8_t *secret_key; + size_t secret_key_len; + uint8_t *message; + size_t message_len; + uint8_t *signature; + size_t signature_len; +} oqs_fuzz_stfl_kat; + +void oqs_fuzz_init(void); +void oqs_fuzz_seed_prng(uint64_t seed); +uint64_t oqs_fuzz_hash(const uint8_t *data, size_t data_len, uint64_t seed); + +bool oqs_fuzz_read_header(const uint8_t *data, size_t data_len, oqs_fuzz_header *header, oqs_fuzz_cursor *cursor); +size_t oqs_fuzz_remaining(const oqs_fuzz_cursor *cursor); +uint8_t oqs_fuzz_take_u8(oqs_fuzz_cursor *cursor, uint8_t fallback); +uint32_t oqs_fuzz_take_u32(oqs_fuzz_cursor *cursor, uint32_t fallback); +size_t oqs_fuzz_take_size(oqs_fuzz_cursor *cursor, size_t max_value, size_t fallback); +void oqs_fuzz_copy_baseline(uint8_t *dst, size_t dst_len, const uint8_t *baseline, size_t baseline_len); +void oqs_fuzz_patch(uint8_t *dst, size_t dst_len, size_t start, oqs_fuzz_cursor *cursor, size_t max_bytes); + +bool oqs_fuzz_load_stfl_kat(const char *method_name, oqs_fuzz_stfl_kat *kat); +void oqs_fuzz_free_stfl_kat(oqs_fuzz_stfl_kat *kat); +bool oqs_fuzz_make_lms_secret_key(const char *method_name, uint8_t *secret_key, size_t secret_key_len); + +#endif diff --git a/tests/fuzz/fuzz_kem_cache.c b/tests/fuzz/fuzz_kem_cache.c new file mode 100644 index 0000000000..eb5b510e40 --- /dev/null +++ b/tests/fuzz/fuzz_kem_cache.c @@ -0,0 +1,63 @@ +// SPDX-License-Identifier: MIT + +#include "fuzz_kem_cache.h" + +#include "fuzz_helpers.h" + +static oqs_fuzz_kem_cache_entry oqs_fuzz_kem_cache[OQS_KEM_algs_length]; + +oqs_fuzz_kem_cache_entry *oqs_fuzz_kem_cache_get(size_t algorithm_index, bool need_ciphertext) { + if (algorithm_index >= OQS_KEM_algs_length) { + return NULL; + } + + oqs_fuzz_kem_cache_entry *entry = &oqs_fuzz_kem_cache[algorithm_index]; + if (!entry->initialized) { + entry->initialized = true; + const char *method_name = OQS_KEM_alg_identifier(algorithm_index); + entry->kem = OQS_KEM_new(method_name); + if (entry->kem == NULL) { + return NULL; + } + + entry->public_key = OQS_MEM_malloc(entry->kem->length_public_key); + entry->secret_key = OQS_MEM_malloc(entry->kem->length_secret_key); + entry->ciphertext = OQS_MEM_malloc(entry->kem->length_ciphertext); + entry->scratch_public_key = OQS_MEM_malloc(entry->kem->length_public_key); + entry->scratch_ciphertext = OQS_MEM_malloc(entry->kem->length_ciphertext); + entry->scratch_shared_secret = OQS_MEM_malloc(entry->kem->length_shared_secret); + size_t seed_len = entry->kem->length_encaps_seed > entry->kem->length_keypair_seed ? entry->kem->length_encaps_seed : entry->kem->length_keypair_seed; + entry->scratch_seed = seed_len > 0 ? OQS_MEM_malloc(seed_len) : NULL; + if (entry->public_key == NULL || entry->secret_key == NULL || entry->ciphertext == NULL || + entry->scratch_public_key == NULL || entry->scratch_ciphertext == NULL || entry->scratch_shared_secret == NULL || + (seed_len > 0 && entry->scratch_seed == NULL)) { + return NULL; + } + + oqs_fuzz_seed_prng(UINT64_C(0x4b454d0000000000) ^ (uint64_t)algorithm_index); + if (OQS_KEM_keypair(entry->kem, entry->public_key, entry->secret_key) != OQS_SUCCESS) { + return NULL; + } + entry->available = true; + } + + if (!entry->available) { + return NULL; + } + + if (need_ciphertext && !entry->has_ciphertext) { + uint8_t *shared_secret = OQS_MEM_malloc(entry->kem->length_shared_secret); + if (shared_secret == NULL) { + return NULL; + } + oqs_fuzz_seed_prng(UINT64_C(0x4349504845520000) ^ (uint64_t)algorithm_index); + OQS_STATUS rc = OQS_KEM_encaps(entry->kem, entry->ciphertext, shared_secret, entry->public_key); + OQS_MEM_secure_free(shared_secret, entry->kem->length_shared_secret); + if (rc != OQS_SUCCESS) { + return NULL; + } + entry->has_ciphertext = true; + } + + return entry; +} diff --git a/tests/fuzz/fuzz_kem_cache.h b/tests/fuzz/fuzz_kem_cache.h new file mode 100644 index 0000000000..d3fda4f749 --- /dev/null +++ b/tests/fuzz/fuzz_kem_cache.h @@ -0,0 +1,28 @@ +// SPDX-License-Identifier: MIT + +#ifndef OQS_TESTS_FUZZ_KEM_CACHE_H +#define OQS_TESTS_FUZZ_KEM_CACHE_H + +#include +#include +#include + +#include + +typedef struct { + bool initialized; + bool available; + bool has_ciphertext; + OQS_KEM *kem; + uint8_t *public_key; + uint8_t *secret_key; + uint8_t *ciphertext; + uint8_t *scratch_public_key; + uint8_t *scratch_ciphertext; + uint8_t *scratch_shared_secret; + uint8_t *scratch_seed; +} oqs_fuzz_kem_cache_entry; + +oqs_fuzz_kem_cache_entry *oqs_fuzz_kem_cache_get(size_t algorithm_index, bool need_ciphertext); + +#endif diff --git a/tests/fuzz/fuzz_sig_cache.c b/tests/fuzz/fuzz_sig_cache.c new file mode 100644 index 0000000000..84da8940ad --- /dev/null +++ b/tests/fuzz/fuzz_sig_cache.c @@ -0,0 +1,70 @@ +// SPDX-License-Identifier: MIT + +#include "fuzz_sig_cache.h" + +#include "fuzz_helpers.h" + +static oqs_fuzz_sig_cache_entry oqs_fuzz_sig_cache[OQS_SIG_algs_length]; + +oqs_fuzz_sig_cache_entry *oqs_fuzz_sig_cache_get(size_t algorithm_index) { + if (algorithm_index >= OQS_SIG_algs_length) { + return NULL; + } + + oqs_fuzz_sig_cache_entry *entry = &oqs_fuzz_sig_cache[algorithm_index]; + if (entry->initialized) { + return entry->available ? entry : NULL; + } + entry->initialized = true; + + const char *method_name = OQS_SIG_alg_identifier(algorithm_index); + entry->sig = OQS_SIG_new(method_name); + if (entry->sig == NULL) { + return NULL; + } + + uint8_t *secret_key = OQS_MEM_malloc(entry->sig->length_secret_key); + entry->public_key = OQS_MEM_malloc(entry->sig->length_public_key); + entry->message = OQS_MEM_malloc(OQS_FUZZ_SIG_BASE_MESSAGE_LEN); + entry->signature = OQS_MEM_malloc(entry->sig->length_signature); + entry->ctx = OQS_MEM_malloc(OQS_FUZZ_SIG_BASE_CTX_LEN); + entry->ctx_signature = OQS_MEM_malloc(entry->sig->length_signature); + entry->scratch_public_key = OQS_MEM_malloc(entry->sig->length_public_key); + entry->scratch_message = OQS_MEM_malloc(OQS_FUZZ_MAX_MESSAGE_LEN); + entry->scratch_signature = OQS_MEM_malloc(entry->sig->length_signature + OQS_FUZZ_SIGNATURE_SLACK); + entry->scratch_ctx = OQS_MEM_malloc(OQS_FUZZ_MAX_CTX_LEN); + if (secret_key == NULL || entry->public_key == NULL || entry->message == NULL || entry->signature == NULL || entry->ctx == NULL || entry->ctx_signature == NULL || + entry->scratch_public_key == NULL || entry->scratch_message == NULL || entry->scratch_signature == NULL || entry->scratch_ctx == NULL) { + OQS_MEM_secure_free(secret_key, entry->sig->length_secret_key); + return NULL; + } + + for (size_t i = 0; i < OQS_FUZZ_SIG_BASE_MESSAGE_LEN; i++) { + entry->message[i] = (uint8_t)(0x40u + (uint8_t)i); + } + for (size_t i = 0; i < OQS_FUZZ_SIG_BASE_CTX_LEN; i++) { + entry->ctx[i] = (uint8_t)(0xa0u + (uint8_t)i); + } + + oqs_fuzz_seed_prng(UINT64_C(0x5349470000000000) ^ (uint64_t)algorithm_index); + if (OQS_SIG_keypair(entry->sig, entry->public_key, secret_key) != OQS_SUCCESS) { + OQS_MEM_secure_free(secret_key, entry->sig->length_secret_key); + return NULL; + } + + if (OQS_SIG_sign(entry->sig, entry->signature, &entry->signature_len, entry->message, OQS_FUZZ_SIG_BASE_MESSAGE_LEN, secret_key) != OQS_SUCCESS) { + OQS_MEM_secure_free(secret_key, entry->sig->length_secret_key); + return NULL; + } + + if (entry->sig->sig_with_ctx_support) { + oqs_fuzz_seed_prng(UINT64_C(0x4354580000000000) ^ (uint64_t)algorithm_index); + if (OQS_SIG_sign_with_ctx_str(entry->sig, entry->ctx_signature, &entry->ctx_signature_len, entry->message, OQS_FUZZ_SIG_BASE_MESSAGE_LEN, entry->ctx, OQS_FUZZ_SIG_BASE_CTX_LEN, secret_key) != OQS_SUCCESS) { + entry->ctx_signature_len = 0; + } + } + + OQS_MEM_secure_free(secret_key, entry->sig->length_secret_key); + entry->available = true; + return entry; +} diff --git a/tests/fuzz/fuzz_sig_cache.h b/tests/fuzz/fuzz_sig_cache.h new file mode 100644 index 0000000000..47bee10592 --- /dev/null +++ b/tests/fuzz/fuzz_sig_cache.h @@ -0,0 +1,34 @@ +// SPDX-License-Identifier: MIT + +#ifndef OQS_TESTS_FUZZ_SIG_CACHE_H +#define OQS_TESTS_FUZZ_SIG_CACHE_H + +#include +#include +#include + +#include + +#define OQS_FUZZ_SIG_BASE_MESSAGE_LEN 32 +#define OQS_FUZZ_SIG_BASE_CTX_LEN 4 + +typedef struct { + bool initialized; + bool available; + OQS_SIG *sig; + uint8_t *public_key; + uint8_t *message; + uint8_t *signature; + size_t signature_len; + uint8_t *ctx; + uint8_t *ctx_signature; + size_t ctx_signature_len; + uint8_t *scratch_public_key; + uint8_t *scratch_message; + uint8_t *scratch_signature; + uint8_t *scratch_ctx; +} oqs_fuzz_sig_cache_entry; + +oqs_fuzz_sig_cache_entry *oqs_fuzz_sig_cache_get(size_t algorithm_index); + +#endif diff --git a/tests/fuzz/generate_corpus.py b/tests/fuzz/generate_corpus.py new file mode 100755 index 0000000000..a00ec8c13c --- /dev/null +++ b/tests/fuzz/generate_corpus.py @@ -0,0 +1,130 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: MIT + +"""Generate deterministic seed corpora for the generic public-input fuzzers.""" + +import argparse +import re +import sys +from pathlib import Path + + +ROOT = Path(__file__).resolve().parents[2] +CORPUS_ROOT = ROOT / "tests" / "fuzz" / "corpus" + +REGISTRIES = { + "kem": (ROOT / "src" / "kem" / "kem.c", "OQS_KEM_alg_"), + "sig": (ROOT / "src" / "sig" / "sig.c", "OQS_SIG_alg_"), + "sig_stfl": (ROOT / "src" / "sig_stfl" / "sig_stfl.c", "OQS_SIG_STFL_alg_"), +} + +TARGETS = { + "fuzz_test_kem_encaps": ("kem", (0, 1)), + "fuzz_test_kem_decaps": ("kem", (0,)), + "fuzz_test_sig_verify": ("sig", (0, 1, 2)), + "fuzz_test_sig_stfl_verify": ("sig_stfl", (0,)), + "fuzz_test_sig_stfl_deserialize": ("sig_stfl", (0,)), +} + +GENERATED_NAME_RE = re.compile(r"^alg-[0-9]{3}-mode-[0-9]{2}$") + + +def registry_tokens(source: Path, prefix: str) -> list[str]: + text = source.read_text(encoding="utf-8") + array_marker = "const char *a[" + array_start = text.find(array_marker) + if array_start < 0: + raise ValueError(f"could not find algorithm array in {source}") + + body_start = text.find("{", array_start) + body_end = text.find("};", body_start) + if body_start < 0 or body_end < 0: + raise ValueError(f"could not parse algorithm array in {source}") + + tokens = re.findall(rf"\b{re.escape(prefix)}[A-Za-z0-9_]+\b", text[body_start:body_end]) + if not tokens: + raise ValueError(f"algorithm array in {source} is empty") + if len(tokens) != len(set(tokens)): + raise ValueError(f"algorithm array in {source} contains duplicate identifiers") + if len(tokens) > 0x10000: + raise ValueError(f"algorithm array in {source} exceeds the two-byte seed index") + return tokens + + +def expected_corpus() -> dict[Path, bytes]: + registries = { + name: registry_tokens(source, prefix) + for name, (source, prefix) in REGISTRIES.items() + } + expected = {} + for target, (registry_name, modes) in TARGETS.items(): + for index, _token in enumerate(registries[registry_name]): + for mode in modes: + path = CORPUS_ROOT / target / f"alg-{index:03d}-mode-{mode:02d}" + expected[path] = bytes((1, index & 0xFF, (index >> 8) & 0xFF, mode, 0)) + return expected + + +def write_corpus(expected: dict[Path, bytes]) -> int: + expected_paths = set(expected) + for target in TARGETS: + target_dir = CORPUS_ROOT / target + target_dir.mkdir(parents=True, exist_ok=True) + for path in target_dir.iterdir(): + if path.is_file() and GENERATED_NAME_RE.match(path.name) and path not in expected_paths: + path.unlink() + + changed = 0 + for path, contents in expected.items(): + path.parent.mkdir(parents=True, exist_ok=True) + if not path.exists() or path.read_bytes() != contents: + path.write_bytes(contents) + changed += 1 + print(f"wrote {len(expected)} corpus seeds ({changed} changed)") + return 0 + + +def check_corpus(expected: dict[Path, bytes]) -> int: + errors = [] + expected_paths = set(expected) + for path, contents in expected.items(): + if not path.exists(): + errors.append(f"missing {path.relative_to(ROOT)}") + elif path.read_bytes() != contents: + errors.append(f"wrong contents in {path.relative_to(ROOT)}") + + for target in TARGETS: + target_dir = CORPUS_ROOT / target + if not target_dir.exists(): + continue + for path in target_dir.iterdir(): + if path.is_file() and GENERATED_NAME_RE.match(path.name) and path not in expected_paths: + errors.append(f"stale generated seed {path.relative_to(ROOT)}") + + if errors: + print("\n".join(errors), file=sys.stderr) + return 1 + print(f"validated {len(expected)} corpus seeds") + return 0 + + +def main() -> int: + parser = argparse.ArgumentParser(description=__doc__) + mode = parser.add_mutually_exclusive_group(required=True) + mode.add_argument("--write", action="store_true", help="write expected seed files") + mode.add_argument("--check", action="store_true", help="verify committed seed files") + args = parser.parse_args() + + try: + expected = expected_corpus() + except ValueError as exc: + print(str(exc), file=sys.stderr) + return 1 + + if args.write: + return write_corpus(expected) + return check_corpus(expected) + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/tests/fuzz_test_kem.c b/tests/fuzz_test_kem.c deleted file mode 100644 index facfdc631d..0000000000 --- a/tests/fuzz_test_kem.c +++ /dev/null @@ -1,153 +0,0 @@ -/* - * fuzz_test_kem.c - * - * Minimal fuzz test for liboqs. - * - * SPDX-License-Identifier: MIT - */ - -#include "oqs/kem.h" -#include -#include -#include -#include -#include - -#include - -size_t min(size_t a, size_t b) { - return a < b ? a : b; -} - -typedef struct { - uint32_t random_seed; - uint32_t algorithm_index; -} fuzz_init_ctx_t; - -typedef struct { - fuzz_init_ctx_t init; - const uint8_t *data; - size_t data_len; -} fuzz_ctx_t; - -fuzz_ctx_t init_fuzz_context(const uint8_t *data, size_t data_len); -void fuzz_rand(uint8_t *random_array, size_t bytes_to_read); - -void fuzz_rand(uint8_t *random_array, size_t bytes_to_read) { - for (size_t i = 0; i < bytes_to_read; i++) { - random_array[i] = (uint8_t)rand(); - } -} - -fuzz_ctx_t init_fuzz_context(const uint8_t *data, size_t data_len) { - - fuzz_ctx_t ctx = {{0, 0}, NULL, 0}; - if (data_len > sizeof(fuzz_init_ctx_t)) { - memcpy(&ctx.init, data, sizeof(fuzz_init_ctx_t)); - ctx.data = data + sizeof(fuzz_init_ctx_t); - ctx.data_len = data_len - sizeof(fuzz_init_ctx_t); - - ctx.init.algorithm_index %= OQS_KEM_algs_length; - } else { - ctx.data = data; - ctx.data_len = data_len; - } - - srand(ctx.init.random_seed); - OQS_randombytes_custom_algorithm(&fuzz_rand); - - return ctx; -} - -void cleanup_heap(uint8_t *secret_key, uint8_t *shared_secret_e, - uint8_t *shared_secret_d, uint8_t *public_key, - uint8_t *ciphertext, OQS_KEM *kem); - - -/** Fuzzing of the KEM */ -static OQS_STATUS fuzz_kem(const uint8_t *data, size_t data_len) { - OQS_KEM *kem = NULL; - uint8_t *public_key = NULL; - uint8_t *secret_key = NULL; - uint8_t *ciphertext = NULL; - uint8_t *shared_secret_e = NULL; - uint8_t *shared_secret_d = NULL; - - fuzz_ctx_t ctx = init_fuzz_context(data, data_len); - const char *algorithm = OQS_KEM_alg_identifier(ctx.init.algorithm_index); - kem = OQS_KEM_new(algorithm); - if (kem == NULL) { - printf("%s was not enabled at compile-time.\n", algorithm); - return OQS_ERROR; - } - - public_key = OQS_MEM_malloc(kem->length_public_key); - secret_key = OQS_MEM_malloc(kem->length_secret_key); - ciphertext = OQS_MEM_malloc(kem->length_ciphertext); - shared_secret_e = OQS_MEM_malloc(kem->length_shared_secret); - shared_secret_d = OQS_MEM_malloc(kem->length_shared_secret); - - if ((public_key == NULL) || (secret_key == NULL) || (ciphertext == NULL) || - (shared_secret_e == NULL) || (shared_secret_d == NULL)) { - fprintf(stderr, "ERROR: OQS_MEM_malloc failed!\n"); - cleanup_heap(secret_key, shared_secret_e, shared_secret_d, public_key, - ciphertext, kem); - - return OQS_ERROR; - } - - memcpy(shared_secret_e, ctx.data, min(ctx.data_len, kem->length_shared_secret)); - OQS_STATUS rc = OQS_KEM_keypair(kem, public_key, secret_key); - if (rc != OQS_SUCCESS) { - fprintf(stderr, "ERROR: OQS_KEM_keypair failed!\n"); - cleanup_heap(secret_key, shared_secret_e, shared_secret_d, public_key, - ciphertext, kem); - - return rc; - } - rc = OQS_KEM_encaps(kem, ciphertext, shared_secret_e, public_key); - if (rc != OQS_SUCCESS) { - fprintf(stderr, "ERROR: OQS_KEM_encaps failed!\n"); - cleanup_heap(secret_key, shared_secret_e, shared_secret_d, public_key, - ciphertext, kem); - - return rc; - } - rc = OQS_KEM_decaps(kem, shared_secret_d, ciphertext, secret_key); - if (rc != OQS_SUCCESS) { - fprintf(stderr, "ERROR: OQS_KEM_decaps failed! with algorithm index %u\n", ctx.init.algorithm_index); - cleanup_heap(secret_key, shared_secret_e, shared_secret_d, public_key, - ciphertext, kem); - - return rc; - } - assert(memcmp(shared_secret_d, shared_secret_e, kem->length_shared_secret) == 0); - - cleanup_heap(secret_key, shared_secret_e, shared_secret_d, public_key, - ciphertext, kem); - - return OQS_SUCCESS; // success -} - -void cleanup_heap(uint8_t *secret_key, uint8_t *shared_secret_e, - uint8_t *shared_secret_d, uint8_t *public_key, - uint8_t *ciphertext, OQS_KEM *kem) { - if (kem != NULL) { - OQS_MEM_secure_free(secret_key, kem->length_secret_key); - OQS_MEM_secure_free(shared_secret_e, kem->length_shared_secret); - OQS_MEM_secure_free(shared_secret_d, kem->length_shared_secret); - } - OQS_MEM_insecure_free(public_key); - OQS_MEM_insecure_free(ciphertext); - OQS_KEM_free(kem); -} - -int LLVMFuzzerTestOneInput(const char *data, size_t size) { - OQS_init(); - if (OQS_ERROR == fuzz_kem((const uint8_t *)data, size)) { - // If we get an error prune testcase from corpus. - return -1; - } - OQS_destroy(); - return 0; -} diff --git a/tests/fuzz_test_kem_decaps.c b/tests/fuzz_test_kem_decaps.c new file mode 100644 index 0000000000..c485844e31 --- /dev/null +++ b/tests/fuzz_test_kem_decaps.c @@ -0,0 +1,59 @@ +/* + * FUZZ TARGET: OQS_KEM_decaps() + * SOURCE FILE: src/kem/kem.c + * + * ATTACK SURFACE: + * Remote peers provide attacker-controlled KEM ciphertexts to decapsulation + * APIs during key establishment. + * + * ATTACK SCENARIO: + * An attacker sends a malformed ciphertext that reaches scheme-specific + * ciphertext unpacking and rejection logic with a valid local secret key. + * + * POTENTIAL IMPACT: + * - Memory corruption or out-of-bounds reads in ciphertext decoders + * - Denial of service during unauthenticated key establishment + * + * REPRODUCTION IN REAL DEPLOYMENT: + * 1. Save the crashing corpus input. + * 2. Re-run this target with the same algorithm enabled and ASan active. + * 3. Deliver the extracted ciphertext to the application decapsulation path. + * + * SPDX-License-Identifier: MIT + */ + +#include +#include + +#include + +#include "fuzz/fuzz_helpers.h" +#include "fuzz/fuzz_kem_cache.h" + +int LLVMFuzzerInitialize(int *argc, char ***argv) { + (void)argc; + (void)argv; + oqs_fuzz_init(); + return 0; +} + +int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { + oqs_fuzz_header header; + oqs_fuzz_cursor cursor; + if (!oqs_fuzz_read_header(data, size, &header, &cursor)) { + return 0; + } + + size_t algorithm_index = (size_t)header.algorithm_index % OQS_KEM_algs_length; + oqs_fuzz_kem_cache_entry *entry = oqs_fuzz_kem_cache_get(algorithm_index, true); + if (entry == NULL) { + return 0; + } + + oqs_fuzz_copy_baseline(entry->scratch_ciphertext, entry->kem->length_ciphertext, entry->ciphertext, entry->kem->length_ciphertext); + size_t ciphertext_offset = (size_t)oqs_fuzz_take_u32(&cursor, header.flags); + oqs_fuzz_patch(entry->scratch_ciphertext, entry->kem->length_ciphertext, ciphertext_offset, &cursor, oqs_fuzz_remaining(&cursor)); + + (void)OQS_KEM_decaps(entry->kem, entry->scratch_shared_secret, entry->scratch_ciphertext, entry->secret_key); + return 0; +} diff --git a/tests/fuzz_test_kem_encaps.c b/tests/fuzz_test_kem_encaps.c new file mode 100644 index 0000000000..477fe8d78d --- /dev/null +++ b/tests/fuzz_test_kem_encaps.c @@ -0,0 +1,65 @@ +/* + * FUZZ TARGET: OQS_KEM_encaps() / OQS_KEM_encaps_derand() + * SOURCE FILE: src/kem/kem.c + * + * ATTACK SURFACE: + * Remote peers and protocol wrappers pass attacker-controlled serialized + * KEM public keys into the generic encapsulation API. + * + * ATTACK SCENARIO: + * An attacker supplies a malformed public key that reaches a scheme-specific + * unpack/decoder through OQS_KEM_encaps before any shared secret exists. + * + * POTENTIAL IMPACT: + * - Memory corruption or out-of-bounds reads in public-key decoders + * - Denial of service from malformed public-key handling + * + * REPRODUCTION IN REAL DEPLOYMENT: + * 1. Save the crashing corpus input. + * 2. Re-run this target with the same algorithm enabled and ASan active. + * 3. Pass the extracted public-key bytes to the application KEM encaps path. + * + * SPDX-License-Identifier: MIT + */ + +#include +#include + +#include + +#include "fuzz/fuzz_helpers.h" +#include "fuzz/fuzz_kem_cache.h" + +int LLVMFuzzerInitialize(int *argc, char ***argv) { + (void)argc; + (void)argv; + oqs_fuzz_init(); + return 0; +} + +int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { + oqs_fuzz_header header; + oqs_fuzz_cursor cursor; + if (!oqs_fuzz_read_header(data, size, &header, &cursor)) { + return 0; + } + + size_t algorithm_index = (size_t)header.algorithm_index % OQS_KEM_algs_length; + oqs_fuzz_kem_cache_entry *entry = oqs_fuzz_kem_cache_get(algorithm_index, false); + if (entry == NULL) { + return 0; + } + + oqs_fuzz_copy_baseline(entry->scratch_public_key, entry->kem->length_public_key, entry->public_key, entry->kem->length_public_key); + size_t public_key_offset = (size_t)oqs_fuzz_take_u32(&cursor, header.flags); + oqs_fuzz_patch(entry->scratch_public_key, entry->kem->length_public_key, public_key_offset, &cursor, oqs_fuzz_remaining(&cursor)); + + oqs_fuzz_seed_prng(oqs_fuzz_hash(data, size, UINT64_C(0x454e434150530000))); + if ((header.mode & 1u) != 0 && entry->kem->length_encaps_seed > 0) { + OQS_randombytes(entry->scratch_seed, entry->kem->length_encaps_seed); + (void)OQS_KEM_encaps_derand(entry->kem, entry->scratch_ciphertext, entry->scratch_shared_secret, entry->scratch_public_key, entry->scratch_seed); + } else { + (void)OQS_KEM_encaps(entry->kem, entry->scratch_ciphertext, entry->scratch_shared_secret, entry->scratch_public_key); + } + return 0; +} diff --git a/tests/fuzz_test_sig.c b/tests/fuzz_test_sig.c deleted file mode 100644 index 96b37dba35..0000000000 --- a/tests/fuzz_test_sig.c +++ /dev/null @@ -1,132 +0,0 @@ -/* - * fuzz_test_sig.c - * - * Minimal fuzz test for liboqs. - * - * SPDX-License-Identifier: MIT - */ - -#include "oqs/sig.h" -#include -#include -#include -#include - -#include - - -typedef struct { - uint32_t random_seed; - uint32_t algorithm_index; -} fuzz_init_ctx_t; - -typedef struct { - fuzz_init_ctx_t init; - const uint8_t *data; - size_t data_len; -} fuzz_ctx_t; - -fuzz_ctx_t init_fuzz_context(const uint8_t *data, size_t data_len); -void fuzz_rand(uint8_t *random_array, size_t bytes_to_read); - -void fuzz_rand(uint8_t *random_array, size_t bytes_to_read) { - for (size_t i = 0; i < bytes_to_read; i++) { - random_array[i] = (uint8_t)rand(); - } -} - -fuzz_ctx_t init_fuzz_context(const uint8_t *data, size_t data_len) { - - fuzz_ctx_t ctx = {{0, 0}, NULL, 0}; - if (data_len > sizeof(fuzz_init_ctx_t)) { - memcpy(&ctx.init, data, sizeof(fuzz_init_ctx_t)); - ctx.data = data + sizeof(fuzz_init_ctx_t); - ctx.data_len = data_len - sizeof(fuzz_init_ctx_t); - - ctx.init.algorithm_index %= OQS_SIG_algs_length; - } else { - ctx.data = data; - ctx.data_len = data_len; - } - - srand(ctx.init.random_seed); - OQS_randombytes_custom_algorithm(&fuzz_rand); - - return ctx; -} - -void cleanup_heap(uint8_t *public_key, uint8_t *secret_key, uint8_t *signature, - OQS_SIG *sig); - -static OQS_STATUS fuzz_sig(const uint8_t *data, size_t data_len) { - OQS_SIG *sig = NULL; - uint8_t *public_key = NULL; - uint8_t *secret_key = NULL; - uint8_t *signature = NULL; - size_t signature_len; - OQS_STATUS rc; - - fuzz_ctx_t ctx = init_fuzz_context(data, data_len); - - const char *algorithm = OQS_SIG_alg_identifier(ctx.init.algorithm_index); - - sig = OQS_SIG_new(algorithm); - if (sig == NULL) { - printf("%s was not enabled at compile-time.\n", algorithm); - return OQS_ERROR; - } - - public_key = malloc(sig->length_public_key); - secret_key = malloc(sig->length_secret_key); - signature = malloc(sig->length_signature); - if ((public_key == NULL) || (secret_key == NULL) || (ctx.data == NULL) || - (signature == NULL)) { - fprintf(stderr, "ERROR: malloc failed!\n"); - cleanup_heap(public_key, secret_key, signature, sig); - return OQS_ERROR; - } - - rc = OQS_SIG_keypair(sig, public_key, secret_key); - if (rc != OQS_SUCCESS) { - fprintf(stderr, "ERROR: OQS_SIG_keypair failed!\n"); - cleanup_heap(public_key, secret_key, signature, sig); - return OQS_ERROR; - } - rc = OQS_SIG_sign(sig, signature, &signature_len, ctx.data, ctx.data_len, - secret_key); - if (rc != OQS_SUCCESS) { - fprintf(stderr, "ERROR: OQS_SIG_sign failed!\n"); - cleanup_heap(public_key, secret_key, signature, sig); - return OQS_ERROR; - } - rc = OQS_SIG_verify(sig, ctx.data, ctx.data_len, signature, signature_len, - public_key); - if (rc != OQS_SUCCESS) { - fprintf(stderr, "ERROR: OQS_SIG_verify failed!\n"); - cleanup_heap(public_key, secret_key, signature, sig); - exit(1); - } - - cleanup_heap(public_key, secret_key, signature, sig); - return OQS_SUCCESS; // success -} - -void cleanup_heap(uint8_t *public_key, uint8_t *secret_key, uint8_t *signature, - OQS_SIG *sig) { - if (sig != NULL) { - OQS_MEM_secure_free(secret_key, sig->length_secret_key); - } - OQS_MEM_insecure_free(public_key); - OQS_MEM_insecure_free(signature); - OQS_SIG_free(sig); -} - -int LLVMFuzzerTestOneInput(const char *data, size_t size) { - OQS_init(); - if (OQS_ERROR == fuzz_sig((const uint8_t *)data, size)) { - // If we get an error prune testcase from corpus. - return -1; - } - OQS_destroy(); - return 0; -} diff --git a/tests/fuzz_test_sig_stfl_deserialize.c b/tests/fuzz_test_sig_stfl_deserialize.c new file mode 100644 index 0000000000..f92dd2c82e --- /dev/null +++ b/tests/fuzz_test_sig_stfl_deserialize.c @@ -0,0 +1,151 @@ +/* + * FUZZ TARGET: OQS_SIG_STFL_SECRET_KEY_deserialize() + * SOURCE FILE: src/sig_stfl/sig_stfl.c + * + * ATTACK SURFACE: + * Applications deserialize persisted or remotely supplied XMSS/XMSSMT/LMS + * secret-key material through the generic stateful signature API. + * + * ATTACK SCENARIO: + * An attacker controls serialized stateful secret-key bytes or lengths and + * triggers parsing before later round-trip serialization. + * + * POTENTIAL IMPACT: + * - Memory corruption or out-of-bounds reads during deserialization + * - Corrupted state handling that crashes later serialization + * - Denial of service while loading persisted key material + * + * REPRODUCTION IN REAL DEPLOYMENT: + * 1. Save the crashing corpus input. + * 2. Re-run this target with hazardous STFL key/sign support enabled. + * 3. Load the extracted serialized key through the application persistence path. + * + * SPDX-License-Identifier: MIT + */ + +#include +#include +#include +#include + +#include + +#include "fuzz/fuzz_helpers.h" + +typedef struct { + bool initialized; + bool available; + OQS_SIG_STFL *sig; + uint8_t *serialized_key; + size_t serialized_key_len; + uint8_t *scratch_serialized_key; +} oqs_fuzz_stfl_deserialize_entry; + +static oqs_fuzz_stfl_deserialize_entry oqs_fuzz_stfl_deserialize_cache[OQS_SIG_STFL_algs_length]; +static int oqs_fuzz_store_context; + +static OQS_STATUS fuzz_lock(void *mutex) { + return mutex != NULL ? OQS_SUCCESS : OQS_ERROR; +} + +static OQS_STATUS fuzz_unlock(void *mutex) { + return mutex != NULL ? OQS_SUCCESS : OQS_ERROR; +} + +static OQS_STATUS fuzz_store(uint8_t *sk_buf, size_t sk_buf_len, void *context) { + return sk_buf != NULL && sk_buf_len > 0 && context != NULL ? OQS_SUCCESS : OQS_ERROR; +} + +static oqs_fuzz_stfl_deserialize_entry *get_entry(size_t algorithm_index) { + if (algorithm_index >= OQS_SIG_STFL_algs_length) { + return NULL; + } + + oqs_fuzz_stfl_deserialize_entry *entry = &oqs_fuzz_stfl_deserialize_cache[algorithm_index]; + if (entry->initialized) { + return entry->available ? entry : NULL; + } + entry->initialized = true; + + const char *method_name = OQS_SIG_STFL_alg_identifier(algorithm_index); + entry->sig = OQS_SIG_STFL_new(method_name); + if (entry->sig == NULL || entry->sig->length_secret_key > OQS_FUZZ_MAX_SERIALIZED_KEY_LEN) { + return NULL; + } + + entry->serialized_key = OQS_MEM_malloc(OQS_FUZZ_MAX_SERIALIZED_KEY_LEN); + entry->scratch_serialized_key = OQS_MEM_malloc(OQS_FUZZ_MAX_SERIALIZED_KEY_LEN); + if (entry->serialized_key == NULL || entry->scratch_serialized_key == NULL) { + return NULL; + } + + entry->serialized_key_len = entry->sig->length_secret_key; + oqs_fuzz_copy_baseline(entry->serialized_key, OQS_FUZZ_MAX_SERIALIZED_KEY_LEN, NULL, 0); + + oqs_fuzz_stfl_kat kat; + if (oqs_fuzz_load_stfl_kat(method_name, &kat)) { + if (kat.secret_key != NULL && kat.secret_key_len <= OQS_FUZZ_MAX_SERIALIZED_KEY_LEN) { + memcpy(entry->serialized_key, kat.secret_key, kat.secret_key_len); + entry->serialized_key_len = kat.secret_key_len; + } + oqs_fuzz_free_stfl_kat(&kat); + } + + if (strncmp(method_name, "LMS_", 4) == 0) { + entry->serialized_key_len = 64; + (void)oqs_fuzz_make_lms_secret_key(method_name, entry->serialized_key, OQS_FUZZ_MAX_SERIALIZED_KEY_LEN); + } + + entry->available = true; + return entry; +} + +int LLVMFuzzerInitialize(int *argc, char ***argv) { + (void)argc; + (void)argv; + oqs_fuzz_init(); + return 0; +} + +int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { + oqs_fuzz_header header; + oqs_fuzz_cursor cursor; + if (!oqs_fuzz_read_header(data, size, &header, &cursor)) { + return 0; + } + + size_t algorithm_index = (size_t)header.algorithm_index % OQS_SIG_STFL_algs_length; + oqs_fuzz_stfl_deserialize_entry *entry = get_entry(algorithm_index); + if (entry == NULL) { + return 0; + } + + size_t serialized_key_len = oqs_fuzz_take_size(&cursor, OQS_FUZZ_MAX_SERIALIZED_KEY_LEN, entry->serialized_key_len); + size_t serialized_key_offset = (size_t)oqs_fuzz_take_u32(&cursor, header.flags); + oqs_fuzz_copy_baseline(entry->scratch_serialized_key, OQS_FUZZ_MAX_SERIALIZED_KEY_LEN, entry->serialized_key, entry->serialized_key_len); + oqs_fuzz_patch(entry->scratch_serialized_key, OQS_FUZZ_MAX_SERIALIZED_KEY_LEN, serialized_key_offset, &cursor, oqs_fuzz_remaining(&cursor)); + + OQS_SIG_STFL_SECRET_KEY *secret_key = OQS_SIG_STFL_SECRET_KEY_new(entry->sig->method_name); + if (secret_key == NULL) { + return 0; + } + + if (OQS_SIG_STFL_SECRET_KEY_deserialize(secret_key, entry->scratch_serialized_key, serialized_key_len, &oqs_fuzz_store_context) == OQS_SUCCESS) { + OQS_SIG_STFL_SECRET_KEY_SET_lock(secret_key, &fuzz_lock); + OQS_SIG_STFL_SECRET_KEY_SET_unlock(secret_key, &fuzz_unlock); + OQS_SIG_STFL_SECRET_KEY_SET_mutex(secret_key, &oqs_fuzz_store_context); + OQS_SIG_STFL_SECRET_KEY_SET_store_cb(secret_key, &fuzz_store, &oqs_fuzz_store_context); + (void)OQS_SIG_STFL_SECRET_KEY_lock(secret_key); + (void)OQS_SIG_STFL_SECRET_KEY_unlock(secret_key); + + uint8_t *serialized_roundtrip = NULL; + size_t serialized_roundtrip_len = 0; + if (OQS_SIG_STFL_SECRET_KEY_serialize(&serialized_roundtrip, &serialized_roundtrip_len, secret_key) == OQS_SUCCESS) { + OQS_MEM_secure_free(serialized_roundtrip, serialized_roundtrip_len); + } + + } + + OQS_SIG_STFL_SECRET_KEY_free(secret_key); + return 0; +} diff --git a/tests/fuzz_test_sig_stfl_lms.c b/tests/fuzz_test_sig_stfl_lms.c deleted file mode 100644 index 7d13e7b081..0000000000 --- a/tests/fuzz_test_sig_stfl_lms.c +++ /dev/null @@ -1,298 +0,0 @@ -/* - * fuzz_test_sig_stfl_lms.c - * - * Fuzz test for LMS stateful hash-based signature verification in liboqs. - * Targets OQS_SIG_STFL_verify for the following parameter sets as specified - * in https://github.com/open-quantum-safe/liboqs/issues/2398: - * - LMS_SHA256_H5_W2 - * - LMS_SHA256_H5_W8_H5_W8 - * - * Baseline pk / message / signature bytes are copied from the KAT .rsp files - * under tests/KATs/sig_stfl/lms/ (count = 0 vectors). The fuzzer mutates - * those inputs to detect crashes, memory errors, and undefined behaviour. - * - * SPDX-License-Identifier: MIT - */ - -#include -#include -#include -#include - -#include - -/* The two target algorithms specified in issue #2398 */ -static const char *TARGET_ALGS[] = { - "LMS_SHA256_H5_W2", - "LMS_SHA256_H5_W8_H5_W8", -}; -static const size_t NUM_TARGET_ALGS = 2; - -/* - * Fuzz input layout: - * [0] algorithm selector byte (index into TARGET_ALGS) - * [1] field selector byte (% 3 → 0: pk/sig/msg, 1: sig/msg/pk, 2: msg/pk/sig) - * [2..] fuzz bytes applied sequentially to the three fields in selected order - */ - -typedef struct { - OQS_SIG_STFL *sig; - uint8_t *public_key; - uint8_t *signature; - size_t signature_len; - uint8_t *message; - size_t message_len; -} stfl_keypair_t; - -/* One cached vector per target algorithm, initialised once */ -static stfl_keypair_t cached[2]; -static bool initialised = false; - -/* LMS_SHA256_H5_W2.rsp */ -static const char KAT_LMS_SHA256_H5_W2_PK_HEX[] = - "000000010000000500000002ad412ccdb2962114e64225d1add892b4adf8f6b43057169755d96b6ebc59eaa37904fb719e358e6759f598593ea69f7f"; -static const char KAT_LMS_SHA256_H5_W2_MSG_HEX[] = - "54686520706f77657273206e6f742064656c65676174656420746f2074686520556e69746564205374617465732062792074686520436f6e737469747574696f6e2c206e6f722070726f6869626974656420627920697420746f20746865205374617465732c2061726520726573657276656420746f207468652053746174657320726573706563746976656c792c206f7220746f207468652070656f706c652e2e0a0a"; -static const char KAT_LMS_SHA256_H5_W2_SM_HEX[] = - "000000000000000000000002150417e62d167e4676733e92d1394e814545ed6b9b5bcdb5abfe12ef0d5e14f418017877e0ae217554001f178e1fbb78c6517a7b91a4768e2133c5c0ffc3541c1c957502a004405cb29dc9f86b37da393939e10c6050fc178853f99a31f96dee2893a203398e3cb632d761c2552e0f181eb568ce5984b89658da394dd4138df820dc6974ab9baae3253756c4c90e329464b5663e5b4cd00ec4efd4e3d4224b2fd0d0c6e0241fa222e9ca3057d903c958a9e3bba381d3b3e91406f34f368be3f40f09a4d7ae479944113e69709ea4a8eb3a0dc3c02b49822f35deaa94bf1d98335bb0a10966eaa9fc19167d9d07956f1e2cb1eeaa6ce5ef1d1860824911d8d151aa133eaa0974823d9b0ebc6218b5f1d3d39560832c303c99fa3a73f4a5c983cf80937cc18788a162e025515213225f357dcd2e2d8a9411fd4abb915892461db7d02e15c4b7f774837ca87d764d2f07e8c437465c53152691e39c65e7c6649e83ddb3568e2e31c661c649ba174f9829351817456b4e527ef6e2db153033becc31af7ffb1ec040d7f4f6ccfad654a34d7041a854cddcb8ab905356d37e4332f5632aef346eae7a49d6d3f465d3a918a532e4efe3f458bc3c2a17200e18e71bd05730f44d1d3b9490fec0e4a52d532bc987c7f29b0c4d1a1375b302a48476645f6f9d938ed7c4b9d874b496488439a299e9108be95b2c695e5049e739a9a3d14684d88b064884ea5438f2e009c0126509541457c87a3f06af3c75da61373ecda9a693b980113b22c34ba15c95696388c2e66d90b2fbb800a97a1b96b31a954e411229bbd86cac0fe668990a9c15c6181f847f2a1db288e995257b2c525e049609ee143555eb36649e119c0f427c998ffb45592ea6faffeff2a9e498428b09b6f1d3fc3a0c8b62a749c51b279be712be38f7b323455b50ac4e325703cf564025e2aa1e5876dd56a7be2ccb920dd22e475be7db8b3ff442711e9d0f3b392eda27da8a34cae12cd4f99fa17d8364d5a2a1303e996621b649a6d7105343b0a5af6dd65f2b1f13d8f36545eb65b99b8b6db5f022bc702e8bd2a1ddbc99b64a291affd1e2adcf8a01e9dd9c117e80e32f874beea046b56b44ee8cc2240d03de68c90d9f4d67e5f3aea949cf6f47d5356a6232e979329c10422193f206c74cbe2d06d290d40fb0ffcf2bafbca374a7c327006cb1b21608af282955d3259a4f4b845ac2d9b386be83e96eeda3a84a64810ae3c81b709fef15078424298917b2697d2bdd3e7f4d365b9a84bbab07c0be4d0929be663a06345d1a67360141c03c3f37891f09c24776177e34a9093fa62005187511268fb2fa80740cb751f5e9fd0d74b0f61b643d139f8ccd040c9a9a32cc740b825a2e6a5beb28a8915fbbb1bcd41c9694fcc72ed570b1e96cafaedde8adf8d5028f80eead64f9407e57ff5465da3e5e341e587cbf091f2f5bab89e95666a3fb7158718afcf685df10ea4a22ae7fe55c8f70d5d5a5973f3dde9c80f2a9eb13d58ca3485268f6e380464892f4c3c3598c81fc3d77d1ce0d3d9f50c78be78b88f6a9e17d6ec4ad9e6a86edbd5a4e5e17219fde097f422498c171ec1d0f6dbb6a2a49d34a66ae854e2650fa4a6c2833af5106472e7c787ef2da06f28f84f0f1197c7b4c4cff6ab3ceaac5ee819809ef20ee9b535252c23117da43e31ce778abfd84bf647875573217cc79c088f91ab07adc4c930a4819b936a98834ba2f9b034996d26bff2cc901317536b5481431656c083780d774b686ac5b0abd7ae2e05981c39726e6efb4ea2507b20e85cffecac815d6d9f84fa86240e6ded4dcaa67a2e2f944ac6d38f986b7268f2c240d8f5eafc0b2b67dfc11992e305e64264e19e021fd29b72dea8be8c315e3aa5f02c49fb9e77a34c48c58a28c4340ffaa7fb5b5d0c8a4aa4abd7bbf3955a0b71cbff160c5dd9a6a4ddefdf00367f414dad1c7ec0f77c1a777ec1c726a1049a2c4bc01554b95665496584cb13b28dafd7c668baa7d0c1e425e5c8cef9f75f21819a5708db01e5a5918df096424abcea2d758d4a8c5fbd96e10ba91bef727bcc47930bd45bc7d6851b21c7daf94c016e8cd10498f18ea44c6474d865a8841800dd19fe3d57611660c3729b5c2a2f1d1765a1237db7b97bcb6af56f79f275677bfee3c37fb1a0d7c2b453feea1f7adc60892a95a7e00421b4fa320ea25119fbd6af73d9049c8e109e2b1b683f5bf83933d63bd552f65fbfb806f346db3592e244acc0878c450962956f4e47bb0bced88d1ee0d18f93acdaf6bff6e6d9b451db35755c1bbb547dc4e098012823874546757f5aa94cd0bd294709da538e8c8675e96d47269451bb63d35b6f027d68aa0871b23114553e883463512890d489286886a93227ad5ba80c53f0bb4d383f15f607091a3ddf07cb199a7d8abee54097371c8ae59b354a8f86765288dc635e4f5a3f1bed2f0998f0562755035f39a4fb0f69618ebdbc3427f1fec8d1040aef11da99c0d3f0864615b1283fb2f9e66b957cf666ae08b2e11fc9153dd32b5fc43736758f65d896d253dbe16d7b16db56130851b7a0935d92d33fa75affb9d509ee73c40c9b61359ff814267e962d4aa80f6fb0ddb76dd4cbaf49fe65ad51b406a2f33bbf698a6dde309a7d7ce95f7c68ee5bccd1631f1443f0b1e823af31b2245095afdf073708fa9afa0c3b1c4606d5428cfbe3799003437b74b136b1d0d2f80848a1e5ab14fe7e9ffe02a09e21bd5d9c4eb0607bb5549f0399c2336cbc76a6e55c7f80fc0ee968c696beaa803fb020438a9ca6c89ef1e8823801e91c1cd7cbacf09c79f128f22f29c9d49355ecfe470b8df5edf9a47bdc781a3ff0ae8e5596e13bc06c610bab6121f85d54ef764e6a82a290a4ac3db0f76820d986ffeb5f19460db6246b59aa659afe6753093998876cb961b07fac8b0c0896d0931bc5843c4f545263a950523b7ad8520654564e27d0661f1cbe60812ad232b458ca36c6439750ed12df2f5d89b12f584e0023a2b8fa39c2a13da2b7497a968189f183f65bb37c5999fd6187f9979f39ec459271d67676ae157271b24ac7b3d3876840c48296096ee2730e14adb8af5ae11666d02e441f83c859aad9657c1216a9c8116d660abfb5e061f2face2" - "f11088e661ab2046b969e72c3d23c6410c951ad210572e3cbddba77c5fb81c7594e60e1a4784d3d606b254a49f05521a0289dd14687cf8efb78a2eef2211e6021aa14f2a3d2a5a0d5013282591239e7df7991e3f44442b544e14ae382181f0790d4901b30f659f0cf9b3080a113d2bf869e44149667438b194bca40f1ce542ef7021222e0d6b7bcf40b8631e9a23b87dc1b97cd6eea407d3f7149e250c70a021b3614b5f68c065eccba5ac481fc4435f2da541a1e368d69259bc179338e641b9b14e77abe6762ae8db9a980061c85f49aa161aa92851f6f1e6a38152edac3f121326e517215cfab5746db3e026ffa2b5b4ea41d297bc4bf91f1d07c866b21425e022f0081c7284fa81c0b6b43bea2ce4d61b910aaa539b5485b79f0f766bc704eba870b33855a589ddf7525cbc07c828cf51e687f6d804e4d43535820171d38a67a8025486f0594872c996768b56177a916b13bdf622ea4d05ac608bd1f9220420733fabcbee129a4e89b243bfb4cb7cafebdbd37b1b505014ac3b9419bb51e274f8aa81f82725693341424df75c08ff6acdf622fea4988d0925ffb33466489331b00dc3432d19dddf30fd64194d4523dd3cafef94bacaf6c72b68665d1731edc8c2e9933d9302c61d576160c3c98a9fa393aa60a843238acc975f5af75532b5088a06299dfe395bf4ffdd4ba2c96ca3c7536c6986d34bdf61e01004e537748f427a7cff650918ec3c0916cdc7ba3037d078c1f96d1d77ec7560d1fa3a55443a8b2876c882a7ae2ddfeb611af3806be2f02e39a82e734728348bd90394b732da8798ea1552925e36a8ae92697bca66ec1cc4f6c2d0d60348f81f74ddae919516cb53455e4642f0782acd678e0f2daf973f866ff0f5576517038ffc52301bc53624eee8cacd1d9fdc4c74bf2afd75bd3d0c7a8010ab8d082e6edba64106cff64b5a9ac166f02b906b9b84539361a68703e43c74439306382964d3f2245a1cb9699b9aafe48922dcfec3515cf9d737d72888562b4830e5a80594ea437556ca1c7921629438c620a439196d194a862dba078524bbfd801d2cb33cd500957b84719352baae64d8163ff85cf8236c509ba495633d4972ba8094d1e293b07f7693bc939ffcf4e3979c1f077e48b6a7b2666360759b82adffc811635b860062fe55d70b1397d6dbebe2f73e722fcb90af4d98a55d4043edea799954e8950e7f6744a1e3a98b2fd48f2ff685208c8ad85becaac5ae51e187e75beaf6589773d23367379a6b46082761f247d79341d9498d210a206424d07bb88fe5018a302f4bbdb2d0ceafd4b25603fce716eddbd18ba669fd0a18c93112082b2941924ba80c5a50efaf1f391e6e0d7d6e27cc991c29f4065d75be997762e4032b62bba80be85d4c8ec05ebf54354ebed5c32ffc47caf0e7c703c38559f125521ba736225d9284e33fbab9d32ad54e3ddce4a79a6a0adb2fcd15c57281a9f150a38d8fc96a27c751a888daa65c4461b54efaf2dd2e0d3b5a6ac12027e3b9721f6bb1a32239824faf8574574845a4d649820b1a003cbe2b3e6466f47062356432d3280edc53b1c4fffc63de4fac290e4525c151ce05314c8a8b0c744acd5768936f93a7421eea8e69522ad6d188f71f4b285a535d84ca72c965bc4e40f03b09703d534b6de536b2da8bb36704ee930f1252fbaab91d5974a9d89e1411c5662d65328334a3982c31d4d0588000204acb1f5fc359302d931d8844dbf24201483041dde064ac06dc020768f40039ab61e8a4b893a1a782a49632e38d5a70120aa4ae391d69c9fe11aff5c3f4fc55153ecf9bab047e130e4585e5de2fb875ae4841d21abc580a945e4738674ee2423a237e9f03edd0bf5e395760d5ffffa1645846019fac8a58ca6741a221ea52c0c3020ca6590a7633388da3daed3ea8425ad3671f235420b00ccdaa006a0cee192855a6d8f6cc17794c4bb1da3c6d1b3b2269572bc2f9d93ba886fe30cdcdd2f105536472a580d0e9ccbaf9d2bd091cd33a2243c816da0fd4a3e8f1c01657dc236ea26cb83e05f1c6c184d9c0391535307cb945f80f9329800b39dcbb10e1ba5d13185a3050772d694429e17426136db817cffe563a77703666f1dc827d81790bcc4e9ceba15c34a28c420b6cc7df34cea563d48e9fd20a208497e0cb5a02eb25c3f67095f3f3a63d62d06ad7953ebfddbfddbb613c676394ed866622ba3323d6b1ae1b1324aa41e99170ee1e66560fa78b74051fb172f9b82e53a02be5859ca2d59a133551b7f1cfde0ec524b4fb4aefa69df632a385db308044922dce6258d71b36b14cb481e82928fafc56111ebd5969a3588ecab557b8c15654cbd559f0792b6caed5413d750867d00ef53aa597949fdb837c468c41bdeb081aae58040a50172cbf3d075a9263f4ad7da16062e80e5fe39da2e05366b79a148ae181c465aae82ecec18e98f696649bca24931a702c338f25bb2d135b95bddea4f9f92a2f925f31ee784f195d29eb4003a5b9a21cda79c6a35a579a470bdfa05ce3ed9c2a693ec92ac559691cdf22e5b074c479f58ef2395781369738f7de2c13de64090dc6575920c28a2c5164c8266e9dee906ef55c69c73fc932a64549470fcfe4da13bda91672870957d0cc002998510826d6452f7b400d09c47925eb3e4bb8f53bbd3f657d2afcd7eecc992966bb1ea7774ed15d22d931dacd5bd45993151ce89e173548d0d9324ef74be4c0cb89a1d824f1eb164821249116274a536b1b760846a4f6d1426f946d338ef04f06494a8ad0e3a59fc2269cbd411b0106e8b1245dcc3814ccf330790dd352e68a675736119d839155378f573524f5071487329e2b30405d2b0f07ad82cf2a7a3514821356f126349668f35350f3f3b71045bf60f1f608da2ebb1b067f0e9b673a1e6bf221eee8aaaae8000000051c142d7004cafdc21431a71b81e6ddc44a8ab75a3a2c8fa3a9a8cc4a781d9079063f7a97bf683473a44e5ec3877cb60d400f6a6d8a3e4fdcb02f51160f6d828ea4358ff1f2fdeb78042387d9cf0452ad8653f511d53435401a55c32b0c03a76b0edfec3b1fcb0b864da0ef3663930feab4e318cb7c271ac7b0ee8f7fa2c67838b293d94a7bddb92e05b5810f88ac6eea3182bbe37704a0190fd4658e268be368"; -/* LMS_SHA256_H5_W8_H5_W8.rsp */ -static const char KAT_LMS_SHA256_H5_W8_H5_W8_PK_HEX[] = - "00000002000000050000000461a5d57d37f5e46bfb7520806b07a1b850650e3b31fe4a773ea29a07f09cf2ea30e579f0df58ef8e298da0434cb2b878"; -static const char KAT_LMS_SHA256_H5_W8_H5_W8_MSG_HEX[] = - "54686520706f77657273206e6f742064656c65676174656420746f2074686520556e69746564205374617465732062792074686520436f6e737469747574696f6e2c206e6f722070726f6869626974656420627920697420746f20746865205374617465732c2061726520726573657276656420746f207468652053746174657320726573706563746976656c792c206f7220746f207468652070656f706c652e0a"; -static const char KAT_LMS_SHA256_H5_W8_H5_W8_SM_HEX[] = - "000000010000000500000004d32b56671d7eb98833c49b433c272586bc4a1c8a8970528ffa04b966f9426eb9965a25bfd37f196b9073f3d4a232feb69128ec45146f86292f9dff9610a7bf95a64c7f60f6261a62043f86c70324b7707f5b4a8a6e19c114c7be866d488778a0e05fd5c6509a6e61d559cf1a77a970de927d60c70d3de31a7fa0100994e162a2582e8ff1b10cd99d4e8e413ef469559f7d7ed12c838342f9b9c96b83a4943d1681d84b15357ff48ca579f19f5e71f18466f2bbef4bf660c2518eb20de2f66e3b14784269d7d876f5d35d3fbfc7039a462c716bb9f6891a7f41ad133e9e1f6d9560b960e7777c52f060492f2d7c660e1471e07e72655562035abc9a701b473ecbc3943c6b9c4f2405a3cb8bf8a691ca51d3f6ad2f428bab6f3a30f55dd9625563f0a75ee390e385e3ae0b906961ecf41ae073a0590c2eb6204f44831c26dd768c35b167b28ce8dc988a3748255230cef99ebf14e730632f27414489808afab1d1e783ed04516de012498682212b07810579b250365941bcc98142da13609e9768aaf65de7620dabec29eb82a17fde35af15ad238c73f81bdb8dec2fc0e7f932701099762b37f43c4a3c20010a3d72e2f606be108d310e639f09ce7286800d9ef8a1a40281cc5a7ea98d2adc7c7400c2fe5a101552df4e3cccfd0cbf2ddf5dc6779cbbc68fee0c3efe4ec22b83a2caa3e48e0809a0a750b73ccdcf3c79e6580c154f8a58f7f24335eec5c5eb5e0cf01dcf4439424095fceb077f66ded5bec73b27c5b9f64a2a9af2f07c05e99e5cf80f00252e39db32f6c19674f190c9fbc506d826857713afd2ca6bb85cd8c107347552f30575a5417816ab4db3f603f2df56fbc413e7d0acd8bdd81352b2471fc1bc4f1ef296fea1220403466b1afe78b94f7ecf7cc62fb92be14f18c2192384ebceaf8801afdf947f698ce9c6ceb696ed70e9e87b0144417e8d7baf25eb5f70f09f016fc925b4db048ab8d8cb2a661ce3b57ada67571f5dd546fc22cb1f97e0ebd1a65926b1234fd04f171cf469c76b884cf3115cce6f792cc84e36da58960c5f1d760f32c12faef477e94c92eb75625b6a371efc72d60ca5e908b3a7dd69fef0249150e3eebdfed39cbdc3ce9704882a2072c75e13527b7a581a556168783dc1e97545e31865ddc46b3c957835da252bb7328d3ee2062445dfb85ef8c35f8e1f3371af34023cef626e0af1e0bc017351aae2ab8f5c612ead0b729a1d059d02bfe18efa971b7300e882360a93b025ff97e9e0eec0f3f3f13039a17f88b0cf808f488431606cb13f9241f40f44e537d302c64a4f1f4ab949b9feefadcb71ab50ef27d6d6ca8510f150c85fb525bf25703df7209b6066f09c37280d59128d2f0f637c7d7d7fad4ed1c1ea04e628d221e3d8db77b7c878c9411cafc5071a34a00f4cf07738912753dfce48f07576f0d4f94f42c6d76f7ce973e9367095ba7e9a3649b7f461d9f9ac1332a4d1044c96aefee67676401b64457c54d65fef6500c59cdfb69af7b6dddfcb0f086278dd8ad0686078dfb0f3f79cd893d314168648499898fbc0ced5f95b74e8ff14d735cdea968bee7400000005d8b8112f9200a5e50c4a262165bd342cd800b8496810bc716277435ac376728d129ac6eda839a6f357b5a04387c5ce97382a78f2a4372917eefcbf93f63bb59112f5dbe400bd49e4501e859f885bf0736e90a509b30a26bfac8c17b5991c157eb5971115aa39efd8d564a6b90282c3168af2d30ef89d51bf14654510a12b8a144cca1848cf7da59cc2b3d9d0692dd2a20ba3863480e25b1b85ee860c62bf51360000000500000004d2f14ff6346af964569f7d6cb880a1b66c50" - "04917da6eafe4d9ef6c6407b3db0e5485b122d9ebe15cda93cfec582d7ab0000000a000000040703c491e7558b35011ece3592eaa5da4d918786771233e8353bc4f62323185c95cae05b899e35dffd717054706209988ebfdf6e37960bb5c38d7657e8bffeef9bc042da4b4525650485c66d0ce19b317587c6ba4bffcc428e25d08931e72dfb6a120c5612344258b85efdb7db1db9e1865a73caf96557eb39ed3e3f426933ac9eeddb03a1d2374af7bf77185577456237f9de2d60113c23f846df26fa942008a698994c0827d90e86d43e0df7f4bfcdb09b86a373b98288b7094ad81a0185ac100e4f2c5fc38c003c1ab6fea479eb2f5ebe48f584d7159b8ada03586e65ad9c969f6aecbfe44cf356888a7b15a3ff074f771760b26f9c04884ee1faa329fbf4e61af23aee7fa5d4d9a5dfcf43c4c26ce8aea2ce8a2990d7ba7b57108b47dabfbeadb2b25b3cacc1ac0cef346cbb90fb044beee4fac2603a442bdf7e507243b7319c9944b1586e899d431c7f91bcccc8690dbf59b28386b2315f3d36ef2eaa3cf30b2b51f48b71b003dfb08249484201043f65f5a3ef6bbd61ddfee81aca9ce60081262a00000480dcbc9a3da6fbef5c1c0a55e48a0e729f9184fcb1407c31529db268f6fe50032a363c9801306837fafabdf957fd97eafc80dbd165e435d0e2dfd836a28b354023924b6fb7e48bc0b3ed95eea64c2d402f4d734c8dc26f3ac591825daef01eae3c38e3328d00a77dc657034f287ccb0f0e1c9a7cbdc828f627205e4737b84b58376551d44c12c3c215c812a0970789c83de51d6ad787271963327f0a5fbb6b5907dec02c9a90934af5a1c63b72c82653605d1dcce51596b3c2b45696689f2eb382007497557692caac4d57b5de9f5569bc2ad0137fd47fb47e664fcb6db4971f5b3e07aceda9ac130e9f38182de994cff192ec0e82fd6d4cb7f3fe00812589b7a7ce515440456433016b84a59bec6619a1c6c0b37dd1450ed4f2d8b584410ceda8025f5d2d8dd0d2176fc1cf2cc06fa8c82bed4d944e71339ece780fd025bd41ec34ebff9d4270a3224e019fcb444474d482fd2dbe75efb20389cc10cd600abb54c47ede93e08c114edb04117d714dc1d525e11bed8756192f929d15462b939ff3f52f2252da2ed64d8fae88818b1efa2c7b08c8794fb1b214aa233db3162833141ea4383f1a6f120be1db82ce3630b3429114463157a64e91234d475e2f79cbf05e4db6a9407d72c6bff7d1198b5c4d6aad2831db61274993715a0182c7dc8089e32c8531deed4f7431c07c02195eba2ef91efb5613c37af7ae0c066babc69369700e1dd26eddc0d216c781d56e4ce47e3303fa73007ff7b949ef23be2aa4dbf25206fe45c20dd888395b2526391a724996a44156beac808212858792bf8e74cba49dee5e8812e019da87454bff9e847ed83db07af313743082f880a278f682c2bd0ad6887cb59f652e155987d61bbf6a88d36ee93b6072e6656d9ccbaae3d655852e38deb3a2dcf8058dc9fb6f2ab3d3b3539eb77b248a661091d05eb6e2f297774fe6053598457cc61908318de4b826f0fc86d4bb117d33e865aa805009cc2918d9c2f840c4da43a703ad9f5b5806163d7161696b5a0adc00000005d5c0d1bebb06048ed6fe2ef2c6cef305b3ed633941ebc8b3bec9738754cddd60e1920ada52f43d055b5031cee6192520d6a5115514851ce7fd448d4a39fae2ab2335b525f484e9b40d6a4a969394843bdcf6d14c48e8015e08ab92662c05c6e9f90b65a7a6201689999f32bfd368e5e3ec9cb70ac7b8399003f175c40885081a09ab3034911fe125631051df0408b3946b0bde790911e8978ba07dd56c73e7ee"; - -/* Decode even-length hex ASCII into out[0..out_len-1]. Returns OQS_SUCCESS or OQS_ERROR. */ -static OQS_STATUS hex_decode(const char *hex, uint8_t *out, size_t out_len) { - size_t hlen = strlen(hex); - if (hlen != out_len * 2) { - return OQS_ERROR; - } - for (size_t i = 0; i < out_len; i++) { - unsigned char c0 = (unsigned char)hex[2 * i]; - unsigned char c1 = (unsigned char)hex[2 * i + 1]; - unsigned v0, v1; - if (c0 >= '0' && c0 <= '9') { - v0 = c0 - (unsigned char)'0'; - } else if (c0 >= 'A' && c0 <= 'F') { - v0 = 10 + c0 - (unsigned char)'A'; - } else if (c0 >= 'a' && c0 <= 'f') { - v0 = 10 + c0 - (unsigned char)'a'; - } else { - return OQS_ERROR; - } - if (c1 >= '0' && c1 <= '9') { - v1 = c1 - (unsigned char)'0'; - } else if (c1 >= 'A' && c1 <= 'F') { - v1 = 10 + c1 - (unsigned char)'A'; - } else if (c1 >= 'a' && c1 <= 'f') { - v1 = 10 + c1 - (unsigned char)'a'; - } else { - return OQS_ERROR; - } - out[i] = (uint8_t)((v0 << 4) | v1); - } - return OQS_SUCCESS; -} - -static void cleanup_cached(void) { - for (size_t i = 0; i < NUM_TARGET_ALGS; i++) { - if (cached[i].sig != NULL) { - OQS_MEM_insecure_free(cached[i].public_key); - OQS_MEM_insecure_free(cached[i].signature); - OQS_MEM_secure_free(cached[i].message, cached[i].message_len); - OQS_SIG_STFL_free(cached[i].sig); - cached[i].sig = NULL; - } - } -} - -typedef struct { - const char *pk_hex; - const char *msg_hex; - const char *sm_hex; -} kat_hex_triple_t; - -static const kat_hex_triple_t KAT_HEX[NUM_TARGET_ALGS] = { - { KAT_LMS_SHA256_H5_W2_PK_HEX, KAT_LMS_SHA256_H5_W2_MSG_HEX, KAT_LMS_SHA256_H5_W2_SM_HEX }, - { KAT_LMS_SHA256_H5_W8_H5_W8_PK_HEX, KAT_LMS_SHA256_H5_W8_H5_W8_MSG_HEX, KAT_LMS_SHA256_H5_W8_H5_W8_SM_HEX }, -}; - -/* - * Load KAT vectors once at startup. Avoids LMS key generation cost. - */ -static OQS_STATUS init_vectors(void) { - for (size_t i = 0; i < NUM_TARGET_ALGS; i++) { - cached[i].sig = NULL; - cached[i].public_key = NULL; - cached[i].signature = NULL; - cached[i].message = NULL; - } - - for (size_t i = 0; i < NUM_TARGET_ALGS; i++) { - OQS_SIG_STFL *sig = OQS_SIG_STFL_new(TARGET_ALGS[i]); - if (sig == NULL) { - fprintf(stderr, "ERROR: %s not enabled at compile-time.\n", - TARGET_ALGS[i]); - cleanup_cached(); - return OQS_ERROR; - } - cached[i].sig = sig; - - cached[i].public_key = OQS_MEM_malloc(sig->length_public_key); - cached[i].signature = OQS_MEM_malloc(sig->length_signature); - cached[i].signature_len = sig->length_signature; - cached[i].message_len = strlen(KAT_HEX[i].msg_hex) / 2; - cached[i].message = OQS_MEM_malloc(cached[i].message_len); - - if (!cached[i].public_key || !cached[i].message || !cached[i].signature) { - fprintf(stderr, "ERROR: OQS_MEM_malloc failed for %s.\n", - TARGET_ALGS[i]); - cleanup_cached(); - return OQS_ERROR; - } - - if (hex_decode(KAT_HEX[i].pk_hex, cached[i].public_key, - sig->length_public_key) != OQS_SUCCESS) { - fprintf(stderr, "ERROR: KAT pk hex length mismatch for %s.\n", - TARGET_ALGS[i]); - cleanup_cached(); - return OQS_ERROR; - } - if (hex_decode(KAT_HEX[i].msg_hex, cached[i].message, - cached[i].message_len) != OQS_SUCCESS) { - fprintf(stderr, "ERROR: KAT msg hex for %s.\n", TARGET_ALGS[i]); - cleanup_cached(); - return OQS_ERROR; - } - if (hex_decode(KAT_HEX[i].sm_hex, cached[i].signature, - sig->length_signature) != OQS_SUCCESS) { - fprintf(stderr, "ERROR: KAT sm hex length mismatch for %s.\n", - TARGET_ALGS[i]); - cleanup_cached(); - return OQS_ERROR; - } - } - return OQS_SUCCESS; -} - -static OQS_STATUS fuzz_sig_stfl_lms(const uint8_t *data, size_t data_len) { - if (data_len < 1) { - return OQS_ERROR; - } - - /* Byte 0: algorithm selector */ - size_t alg_idx = data[0] % NUM_TARGET_ALGS; - stfl_keypair_t *kp = &cached[alg_idx]; - OQS_SIG_STFL *sig = kp->sig; - - const uint8_t *fuzz_data = data + 1; - size_t fuzz_len = data_len - 1; - - if (fuzz_len < 1) { - return OQS_ERROR; - } - - /* Byte 1: field selector — determines which field is mutated first */ - size_t field_selector = fuzz_data[0] % 3; - fuzz_data++; - fuzz_len--; - - size_t pk_len = sig->length_public_key; - size_t sig_len = kp->signature_len; - size_t msg_len = kp->message_len; - - uint8_t *mutated_pk = OQS_MEM_malloc(pk_len); - uint8_t *mutated_sig = OQS_MEM_malloc(sig_len); - uint8_t *mutated_msg = OQS_MEM_malloc(msg_len); - - if (!mutated_pk || !mutated_sig || !mutated_msg) { - OQS_MEM_insecure_free(mutated_pk); - OQS_MEM_insecure_free(mutated_sig); - OQS_MEM_insecure_free(mutated_msg); - return OQS_ERROR; - } - - /* Start from KAT values, then overwrite with fuzz bytes in selected order */ - memcpy(mutated_pk, kp->public_key, pk_len); - memcpy(mutated_sig, kp->signature, sig_len); - memcpy(mutated_msg, kp->message, msg_len); - - /* - * field_selector % 3 controls which field is overwritten first: - * 0 → pk, sig, msg 1 → sig, msg, pk 2 → msg, pk, sig - */ - uint8_t *fp[3]; - size_t fl[3]; - switch (field_selector) { - case 1: - fp[0] = mutated_sig; - fl[0] = sig_len; - fp[1] = mutated_msg; - fl[1] = msg_len; - fp[2] = mutated_pk; - fl[2] = pk_len; - break; - case 2: - fp[0] = mutated_msg; - fl[0] = msg_len; - fp[1] = mutated_pk; - fl[1] = pk_len; - fp[2] = mutated_sig; - fl[2] = sig_len; - break; - case 0: - default: - fp[0] = mutated_pk; - fl[0] = pk_len; - fp[1] = mutated_sig; - fl[1] = sig_len; - fp[2] = mutated_msg; - fl[2] = msg_len; - break; - } - - size_t offset = 0; - for (size_t i = 0; i < 3; i++) { - if (offset < fuzz_len) { - size_t copy = (fuzz_len - offset) < fl[i] ? (fuzz_len - offset) : fl[i]; - memcpy(fp[i], fuzz_data + offset, copy); - offset += copy; - } - } - - /* - * Call OQS_SIG_STFL_verify with mutated inputs. - * We expect OQS_ERROR for invalid inputs — a crash here is a bug. - */ - OQS_SIG_STFL_verify(sig, mutated_msg, msg_len, mutated_sig, sig_len, - mutated_pk); - - OQS_MEM_insecure_free(mutated_pk); - OQS_MEM_insecure_free(mutated_sig); - OQS_MEM_secure_free(mutated_msg, msg_len); - - return OQS_SUCCESS; -} - -int LLVMFuzzerInitialize(int *argc, char ***argv) { - (void)argc; - (void)argv; - OQS_init(); - if (OQS_SUCCESS != init_vectors()) { - return -1; - } - initialised = true; - return 0; -} - -int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { - if (!initialised) { - return -1; - } - fuzz_sig_stfl_lms(data, size); - return 0; -} diff --git a/tests/fuzz_test_sig_stfl_verify.c b/tests/fuzz_test_sig_stfl_verify.c new file mode 100644 index 0000000000..ead907e7f6 --- /dev/null +++ b/tests/fuzz_test_sig_stfl_verify.c @@ -0,0 +1,161 @@ +/* + * FUZZ TARGET: OQS_SIG_STFL_verify() + * SOURCE FILE: src/sig_stfl/sig_stfl.c + * + * ATTACK SURFACE: + * Remote callers control serialized XMSS/XMSSMT/LMS public keys and + * signatures passed into the generic stateful verification API. + * + * ATTACK SCENARIO: + * An attacker sends malformed stateful-signature inputs that reach hash-tree + * signature decoders and verifier state reconstruction before authentication. + * + * POTENTIAL IMPACT: + * - Memory corruption or out-of-bounds reads in stateful signature decoders + * - Denial of service from malformed signature/public-key handling + * + * REPRODUCTION IN REAL DEPLOYMENT: + * 1. Save the crashing corpus input. + * 2. Re-run this target with the same stateful algorithm enabled. + * 3. Feed the extracted verification tuple to the application verify path. + * + * SPDX-License-Identifier: MIT + */ + +#include +#include +#include +#include + +#include + +#include "fuzz/fuzz_helpers.h" + +typedef struct { + bool initialized; + bool available; + OQS_SIG_STFL *sig; + uint8_t *public_key; + uint8_t *message; + size_t message_len; + uint8_t *signature; + size_t signature_len; + uint8_t *scratch_public_key; + uint8_t *scratch_message; + uint8_t *scratch_signature; +} oqs_fuzz_stfl_verify_entry; + +static oqs_fuzz_stfl_verify_entry oqs_fuzz_stfl_verify_cache[OQS_SIG_STFL_algs_length]; + +static oqs_fuzz_stfl_verify_entry *get_entry(size_t algorithm_index) { + if (algorithm_index >= OQS_SIG_STFL_algs_length) { + return NULL; + } + + oqs_fuzz_stfl_verify_entry *entry = &oqs_fuzz_stfl_verify_cache[algorithm_index]; + if (entry->initialized) { + return entry->available ? entry : NULL; + } + entry->initialized = true; + + const char *method_name = OQS_SIG_STFL_alg_identifier(algorithm_index); + entry->sig = OQS_SIG_STFL_new(method_name); + if (entry->sig == NULL) { + return NULL; + } + + size_t max_signature_len = entry->sig->length_signature + OQS_FUZZ_SIGNATURE_SLACK; + entry->public_key = OQS_MEM_malloc(entry->sig->length_public_key); + entry->message = OQS_MEM_malloc(OQS_FUZZ_MAX_MESSAGE_LEN); + entry->signature = OQS_MEM_malloc(entry->sig->length_signature); + entry->scratch_public_key = OQS_MEM_malloc(entry->sig->length_public_key); + entry->scratch_message = OQS_MEM_malloc(OQS_FUZZ_MAX_MESSAGE_LEN); + entry->scratch_signature = OQS_MEM_malloc(max_signature_len); + if (entry->public_key == NULL || entry->message == NULL || entry->signature == NULL || + entry->scratch_public_key == NULL || entry->scratch_message == NULL || entry->scratch_signature == NULL) { + return NULL; + } + + entry->message_len = 32; + entry->signature_len = entry->sig->length_signature; + oqs_fuzz_copy_baseline(entry->public_key, entry->sig->length_public_key, NULL, 0); + oqs_fuzz_copy_baseline(entry->message, OQS_FUZZ_MAX_MESSAGE_LEN, NULL, 0); + oqs_fuzz_copy_baseline(entry->signature, entry->sig->length_signature, NULL, 0); + + oqs_fuzz_stfl_kat kat; + if (oqs_fuzz_load_stfl_kat(method_name, &kat)) { + if (kat.public_key != NULL && kat.public_key_len == entry->sig->length_public_key) { + memcpy(entry->public_key, kat.public_key, kat.public_key_len); + } + if (kat.message != NULL && kat.message_len <= OQS_FUZZ_MAX_MESSAGE_LEN) { + memcpy(entry->message, kat.message, kat.message_len); + entry->message_len = kat.message_len; + } + if (kat.signature != NULL && kat.signature_len <= entry->sig->length_signature) { + memcpy(entry->signature, kat.signature, kat.signature_len); + entry->signature_len = kat.signature_len; + } + oqs_fuzz_free_stfl_kat(&kat); + } + + entry->available = true; + return entry; +} + +static void patch_fields(uint8_t **fields, const size_t *field_lens, const size_t *offsets, size_t first_field, oqs_fuzz_cursor *cursor) { + for (size_t i = 0; i < 3; i++) { + size_t field_index = (first_field + i) % 3; + size_t remaining_fields = 3 - i; + size_t remaining = oqs_fuzz_remaining(cursor); + size_t patch_len = (remaining + remaining_fields - 1) / remaining_fields; + oqs_fuzz_patch(fields[field_index], field_lens[field_index], offsets[field_index], cursor, patch_len); + } +} + +int LLVMFuzzerInitialize(int *argc, char ***argv) { + (void)argc; + (void)argv; + oqs_fuzz_init(); + return 0; +} + +int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { + oqs_fuzz_header header; + oqs_fuzz_cursor cursor; + if (!oqs_fuzz_read_header(data, size, &header, &cursor)) { + return 0; + } + + size_t algorithm_index = (size_t)header.algorithm_index % OQS_SIG_STFL_algs_length; + oqs_fuzz_stfl_verify_entry *entry = get_entry(algorithm_index); + if (entry == NULL) { + return 0; + } + + size_t max_signature_len = entry->sig->length_signature + OQS_FUZZ_SIGNATURE_SLACK; + size_t signature_len = oqs_fuzz_take_size(&cursor, max_signature_len, entry->signature_len); + size_t message_len = oqs_fuzz_take_size(&cursor, OQS_FUZZ_MAX_MESSAGE_LEN, entry->message_len); + size_t offsets[3]; + for (size_t i = 0; i < 3; i++) { + offsets[i] = (size_t)oqs_fuzz_take_u32(&cursor, 0); + } + + oqs_fuzz_copy_baseline(entry->scratch_public_key, entry->sig->length_public_key, entry->public_key, entry->sig->length_public_key); + oqs_fuzz_copy_baseline(entry->scratch_message, OQS_FUZZ_MAX_MESSAGE_LEN, entry->message, entry->message_len); + oqs_fuzz_copy_baseline(entry->scratch_signature, max_signature_len, entry->signature, entry->signature_len); + + uint8_t *fields[3] = { + entry->scratch_public_key, + entry->scratch_signature, + entry->scratch_message, + }; + size_t field_lens[3] = { + entry->sig->length_public_key, + signature_len, + message_len, + }; + patch_fields(fields, field_lens, offsets, (size_t)header.flags % 3, &cursor); + + (void)OQS_SIG_STFL_verify(entry->sig, entry->scratch_message, message_len, entry->scratch_signature, signature_len, entry->scratch_public_key); + return 0; +} diff --git a/tests/fuzz_test_sig_stfl_xmss.c b/tests/fuzz_test_sig_stfl_xmss.c deleted file mode 100644 index a487fcc936..0000000000 --- a/tests/fuzz_test_sig_stfl_xmss.c +++ /dev/null @@ -1,269 +0,0 @@ -/* - * fuzz_test_sig_stfl_xmss.c - * - * Fuzz test for XMSS stateful hash-based signature verification in liboqs. - * Targets OQS_SIG_STFL_verify for the following parameter sets as specified - * in https://github.com/open-quantum-safe/liboqs/issues/2399: - * - XMSS-SHA2_10_256 - * - XMSSMT-SHA2_20/2_256 - * - * Baseline pk / message / signature bytes are copied from the KAT .rsp files - * under tests/KATs/sig_stfl/xmss/ (count = 0 vectors). The fuzzer mutates - * those inputs to detect crashes, memory errors, and undefined behaviour. - * - * SPDX-License-Identifier: MIT - */ - -#include -#include -#include -#include - -#include - -/* The two target algorithms specified in issue #2399 */ -static const char *TARGET_ALGS[] = { - "XMSS-SHA2_10_256", - "XMSSMT-SHA2_20/2_256", -}; -static const size_t NUM_TARGET_ALGS = 2; - -/* - * Fuzz input layout: - * [0] algorithm selector byte (index into TARGET_ALGS) - * [1..pk_len] mutated public key - * [pk_len+1..end] mutated signature + message (split at sig_len boundary) - */ - -typedef struct { - OQS_SIG_STFL *sig; - uint8_t *public_key; - uint8_t *signature; - size_t signature_len; - uint8_t *message; - size_t message_len; -} stfl_keypair_t; - -/* One cached vector per target algorithm, initialised once */ -static stfl_keypair_t cached[2]; -static bool initialised = false; - -/* XMSS-SHA2_10_256.rsp */ -static const char KAT_XMSS_SHA2_10_256_PK_HEX[] = - "00000001B901B8D9332FE458EB6DE87AF74655D0B5AD936A66FDB6AC9D1B8CF25BB6DB8404562AD35E8ECAFAAFDA16981CDAA147606BEEA62801342AF13C8B5535F72F94"; -static const char KAT_XMSS_SHA2_10_256_MSG_HEX[] = - "B338DD755D5618C464AB331F14DE3DD4A358BBA00D28FB35236741E902F7B248CE"; -static const char KAT_XMSS_SHA2_10_256_SM_HEX[] = - "00000000404DFF9B9F3931FE6158FFF355A8EE715C9BC6A87FE6627928F3CA1055FA7010C534B0D4C6FFDF4DBFE00E72405EFE83BBCF19AA2030A8CB163808482B6376FF8CE01FB8090F4842896A1EA5E9282F35CACD245A4B9DE9FE84E9315851D68A72B3ECB9F440937C8BA4AC3F0429246CBC2777E8B92D84F4BA49FAB89465FCB0FC8017E582746F531B4697925154A22E2D6A0F1B81913438000C295153D7ADCA8F852C50D360F65F887479E9631A2CA30FE3AD92E7BF648643835F4F8CC081A6C951B83B77608A08C021821DA61962CFCC8E97D75441921D39C5AD537543EFBAF0345DC70826E6E950929570C72E51619600C58D932A72657B19AF163E0B8F7AAF2949A5EB26C517909E0E663E36753491182975206009107509DFFC898D308B903E84A8B29718BF7125397AFF5467D53CF8F36EB945B6B98D48E81C0174A0E03541D24369CF8EDDA4288FFA615D16FBC7355CFC0966BA9256E5B8A44DA95760DFB61301B10FD3E82436E267DB089773E43B984297D1E0D395DCC77FCFECCEFEBD4B80B3F241872EA251DA466CA6C5324346F4B5E6886654A86592641A8C32AC554261B2D9130462C976B039E593F873AD1712820FF3E723FE57F137751AB3CA8B5B20D28D1B9384DF1D710AC39FAF699989418B7856C2034C695A693ECC336EB472DE5049C743089529695B028F2F72BE0893E59169E9A2376C64BC5CCAC5482E5A6E9C88D710A3FF8F23C206B09D314BF50568228B1BACF1CE330D529BD3793D7C7CD9EC770C111D9681D6F1B97D908CBBD436444853FEB47F234D31F5E92B9E0465D67AC0FE48859126BEFA7F7D121A67C2C2970B37B8081B4E73C5A21A41F60160A61FAFBD48649A3D2032C1679A67F348E3E25275FCD9AF650937FEB0A30F25878CEED7D6CA693518B5A2F5418135EA9316EFFDECDB1DFFC9EE3A62EFF0E66F3D05BD9D5F8679B536BB6D39792B28DF2481A6EECB9BEE40B11A10D39A90EA1AAC47BF956FBFE9B0427B599B9BC024F326515E71615419423FEC3F19F621D49B6EED59F129A6B1411B7B1AFCF073095D57B03F25A16F946ED716BF705F567A151BE85B8E8195CC2F070BFD482702182B8A4A43ED942F6BD3CBF9DE7E8AEB17C41E1C009C94FF4A2050E3731088B75474B38DC52BADF53C7DCD3FB98D023649FC4799CE060ADDACEC7CD4E656074E631C1CB8AEF88EFEE0817C2E3D79E287F4510E48DFB7E23CB49D6FCA39A1E0F471F16A8BB65AF02150D059036D00386DD287BEA4D52FB263B57AE5ADD901CADE838B1D7347D9E47EAF6456148C6C4E44B0FA3DFCF5C9CEC2D80AD509A65AEF0E3E663B7F31BCA437311BA799D4C2ACC138F85D73CB40792FF03F8F20427D951444990CA3976A71368A7DC1455E880722F06F02163BC712E852A914F22E5675EB9B1C6C8B7FD20A8880AD2EEF97982C065C937BD3639357E4C7450CBDA0B51CCA8E3E078DC760FD99EBF646B82369576539B2BD5B2C866ED5AE94423A5CE18C685352398D01C983F080D7BEB8A9243AAA9AC1DDCC1B058B92BEAD301E8F3B8F5EF71EEE7966302B44D2E26D2A02393713E5D4D3FEF42196FAA368274C78C2932D22840ECA6018CE7D16B19A0727CB1966EB28B57D137C5264CC2E627F24A3BAD50EA4F75C7BD8998709C01ED5ACFFF0891934E94DA2CACCA212FB48BE3F9EAA310547E73C388D881F36AE21EFEDD23744F6B07C5D6D2776C191ED41E607316F61BBEF7A20E1A03150AE833D18952AE35188FBFDFA55C12A388836717BB2BDD97E89121C56C3B53E8198242315C9E438512E0C8354A3E599CB7217AE688647A72985606BBD0720F6FA5C5B6F70E88234EE54C6DB0A41106C866564650829FE4B232635B06B18240C9F86369C75B2F7D237211A380C43F95D362E0680D9EA2CA47E1DC8C49703E22650B765F847AD86BE25A3B7630D640A0097632DF13F600E8A025DD9A1FC67B0EB09C1CA9FA3923896927DEE1E3CC0C81F4B82E43B89CACC69C9B8ADCA1670F7D4E50DB7BCD94C2115E75F2BFD2336DA5A304D0F3455927360BF5040E95D1454106F2A8A7CD27D5510E7B5BE7B5B9EDEFDC3D4249D655C51F4C1DBA0F359BE4769AB66EDBC802824E9AB866E8EEAA2FEB1CC855F0A745AAC84A610DF0238112C6519F8E7346C45331A6036F84D5B6250F4B5BC0A2A6A31DAF9C60EB13C20CC649A18E27A6C98B82F08E21706A8BDF338CC69C1679D25ECFF733A721211C1F6DD28091AAA9C93B047EFCD2C8A55F2DA65E616F07DCC0F44081D4E359C1688A00F062EC925D24432862B547BB70F2AF126A3DABA5C918B224DE444B8733E6FA601B3D349307E94583D0EC976AEDA2B90972324B3ACE8C7B79A67723AEA037E12DA9EFA9CA9668A4F5FDADFB9EEE13398921F5023E354A6894825431DBA7317E6A6F69F0E77294BCD02D7616E75AC31EC528FC070B8C34027C4E9CD0672903412FCA6B723650D56AF562069312FC7EF1891A77E1A3F29D810C205EE212E75863F3B8B1ED216DF888ADD07AFF45F1B5C01196329311414797CD5F67FFC54AAD04C803FF7E83C2E8BA224CE83695BB7916AC42B1861F5CB527FDBCD82DBFA31C5ACF981D8414203837504263C96A0015841FBCC721F96D50A86D6E096AB54AF9980F06CEE6341C78D6583F6BAE8081B3C44B0F10FB7300874B5011FF0F97C52F975A31355884C2F12B6FFEE20E8371D38183C9D04977BFA037C9BD4DD7F7CE203FD7FAD3852B3C2AE9D078ADEC70DB1A7140EF1114EBB03E8DE03237E0A27FF510015AC76FCEFE4EBD4C3A1B6C67DB2A82FE2B1BF18723DB0F29FE4AD47B2EEF22AC3C6661CFA7DA7476D23B470FA2E0441B6473EBD291791F09B4ADA70A5286EB05167BD59BFD8C464" - "27413D60692382EFB7882F60DC53AAAFDF2014CA7D27F8FA93C187A8371B41796557AE739912E5991C713532E81FA57F9BA562E1D3026D2D2D7373D99871BC62768AD70D3DB184EABED83E30C11C9BC62F3340923A0082B987EC45CC7BD1DB4B2B15E8AD3EAD74E96D8C20D85617BBEDC0BDAF8ED48B7EE8D7C42990028EC0669AFC0861C22F2E9109F9BB35426BDDB4A69EB8F45CD5B226F92E8026F1E62DE1DE435A4FC0CAEDA91C38A88F0037BDB296CD7B07FF040B1E08F02711E946B307A5A38487F53070985B8E28BE6CCE809F34100F0CA780996CD38E91BA7773BB632D0BE7978F3AF3A92B961BD3A8759590726D6C1811F9E0BCA87377334E7C1F12FE37401CA0200823938C816ED98981521470F7F2CCDD69D85E7530EBF39E3A592B1C09BC6C352C3FDB108FB26E7ACD3D5A4FC0442962E2C09651AC0D026E370F1EE1A8219C4833D70793D6E581FD25B0E95FAB1EDA67232C2FA12C4E379A6627E75AD408C1D2526005F2567CED8608E88CF53064FCDC58007198ADFA860F9FED1DF80EFACC768A0A063E1AFEE6DF1BE3483105B1C45EB50BF7863B4278422CEBA9001EA00299AC0415BF28A9C49CC2E92FC15565B547538A027886C6EB0D83B71138CE1A"; -/* XMSSMT-SHA2_20-2_256.rsp */ -static const char KAT_XMSSMT_SHA2_20_2_256_PK_HEX[] = - "00000001049D5FE86EA348F4C6D28583AA3F9F86C36156FD23AAE68BD09B104163E2E2EB04562AD35E8ECAFAAFDA16981CDAA147606BEEA62801342AF13C8B5535F72F94"; -static const char KAT_XMSSMT_SHA2_20_2_256_MSG_HEX[] = - "B338DD755D5618C464AB331F14DE3DD4A358BBA00D28FB35236741E902F7B248CE"; -static const char KAT_XMSSMT_SHA2_20_2_256_SM_HEX[] = - "000000404DFF9B9F3931FE6158FFF355A8EE715C9BC6A87FE6627928F3CA1055FA701095690ED3CAA8519B752CDFBACE3666EDC260EE5325F9EA849CF9DFE6CDAD655BFAEEE83253874CD01D7C5D07C53050812648A4891B86ED9B949459337CE4E48A389B5FA7E67C06E689894EBA9EF2B30A6E85FAE21DB5E8D5F6499CF1C5A59A6D7A8D490A5464AF68854E65606D09C887C8A95A511E76865A1B432139E0C164EEAEDB66976EB9610DA9403923B229A8A81AD64A8292003BCC9A8FBD97284FB83F255CA9569583D0B40DC8A5942B9284515CCD9497D7AC749BEFAB0032A08D412C0291B9F93EA852A8937854ABE02DA2E505DE98BE606DF1ECF315300F6145C26529510438E87AB06D786CF52C18D7F9C95D7B82F4F0E1AEB59E4221D40C67EB13EF80BB3601C44E35C901ABEE1EE25BFAAB80639021377FDA25672D97ED4126B888B571BCF4A34CE363BF227A5830ACB4844CB17A942625686FEB09DBDA47AF7568C4ED2AD3DC8191BE8F775AB35E37528F5B94BE4DDFF4E56600E488856881A622BB8619A78752AB810E1EF1E95A04A10597D7B674C38102590FA8BB21B909B3E05A4453E58D0D1EFC4EE285C0B3EB81F2DB7E57C22946C3ED1D4155D0A6041072FB2968834D281510FE4DCCE2D85ED825C3F2C646CB718C5C742C8E7694C288548F3B542B812369DE5C5B650683CCAA23D4B8BBEB833B694BE7EAB094F39BD8D4E6FC2CFF5A94DF26DA0C0170FD8713CFC44391EB96DA0957FD5066FD83C6A49E07417E807C087062711DCC7BBFA4B0D54077AD8DB142A191E6BA6BB2518374F77E9F7FB8C2790CBA9844A7FC11D1E6C38E1E9EA573E0A80CE46DB790375D915D3C1F311F819D63F288CAAC1F49DCEFCF8F9B30E025FB946B8A8520860ED5D425878CEED7D6CA693518B5A2F5418135EA9316EFFDECDB1DFFC9EE3A62EFF0E6647A2D39C98B01A8BA4A8B9FDFF89292303C02C3AEEC2EEDB69DB6CAB0F45463BA7A25D6C3E4B7D39A28A65A5628A93556FA9F54E273B583F9A197BFF4731E04237D992BAB4119585A36F7584D2B25A2263A428A218CF009BF9EB533839059E362FDFAC5E8EE98639254EB106410A8BEE8214C66A7BB81C99C989737A7EC3EDB303EDD88D20A7D32FE8E2735A21A0055B3473BA260666DC3A9CD83E3AE3B6FF7D7D8D5964AF6A4DDD928553D5D44D3A6ED501CED954E06F89F82D334C458125844219EE3DB69A83DDED1030CBEA57D3D2EFE8AE168D83856DA3FBADB0102D52C5EB3E72F1046CBFF94254043D879CA0B64F7BD7AEC79F5F87C11DE3DE80756E92F7BDF93266EA7D5A17B974C518C7024DE642D12B495063AC5363EF6C532E0D9C96AA96BFC9E1D6A851663336861DA97A10FFC00A4D5A8E4F1CA04A8C91FAB90CEA2895370C57B8BD4DAEBA7B426B8E8B3968A6ECA166D917889AEBDB335E3B8115DAFADB4F258D8BBED23B21C65486E46D8BCA833B6967A09FC7DA038DE146403C9AF2D41510FE1D89C15CE442C7FCE52DD7AEF5B65923DD8CE7C031E671882B33206242916D836656273E7BCF440A020F6BD2212AFED89DB1DF7C77FEDA1143CC52238532A9293D465022828337D62D54CD964879D20BD79F2F5C8042F16A9C2FB2E1A7013828FF9CFA9903E4C46D7F0A4409133EA2AF9207A68E5DF1EBB203398C519742B581D604C13E10DFEDBCAD3EB1F66133D21F83B2C15BA70E2084E20169B68E73B20457198BA678C4496B02F7124E0474EE3BB9B7107646385F85E396D5B6413A9FF0BC969B011DC3639F1798CE4EDACACC625459A25639F6F2C5C15DB24488CAC196FD09E1A5AA1ADF13D6A4316B27BABDF3ADD912C5D1A25114B322FAC7F9853AD29B44EAFA7AA9A4ED2471B0BC91B4E1FDB7E6A80056C0F264C07EA4901DD4FF16E8E94B742AB1BA0D9B7C12674D959DF58DA15C7E22363C8AE8B2D2003632CBB912A4F788E97B9BB1C7EED5532B3026F7B8574061C607F615F7BE429B3D9A386E40B99329DE24163911705BC3137F0C728AB5848532999315D2BFD2336DA5A304D0F3455927360BF5040E95D1454106F2A8A7CD27D5510E7B54E165DB2CBF8027EE9B5CF5EBCC9DD06A5C319E2B9611BE946B6020CE4D9DD7329B336BF3E1A68CE17D1FB3485EC4AE8A823AD73C293A8AD9C8A45B2313792CEC3A649FB0DB6EE6F511B9B48E3DA2B198695DF9ACDD096ED9BE58CB5A6DFE702D4F9CEF844F63D60F6E671DF4C58FA9737EF38E41D273D28CB5091AFD0A9857C87AD54963C2B8344F1B0B7D04CF60AF2F462FC9E118D52827FEA10BB9FFE8A0669C43C7F0FD2B44AFC59F5F1E04E13D3FAEC42EF2E5CE5C39BB7E9A671F6FC6AE6BF9D49BB099E99E115FB80548BDCA3276CA7DD2F3200DA1FC5724E17D63321E7518484F9CBC19EAA901C9B4359152FCD7C0E51C82C962FF3F9A68B4F8B30440B23AD28725612F5FB98FF740AFB457915740084644120ADD17B445078AAF541DDAAE3B630834D387AA4B42958AAFD178D333B9E1D92DDDDC028609DD1C65C57A704637AD2E628163EE49D33FFA1530ED03F0A3E771B74CCF546BEF58EF21DD186BD74BB36D42E7D9D5F94DD718412DD7417024BA0156A865CBF27A461847E450F0DD03D0B6940BF0A7A3D0DCF04FFA9F744E8EDE879679E9B2B30DF30EC5C8C9AB598E42C39CE458F83C500EFAE48C4B8B2B688A9AE8C84C68CCA9D73C640BF005BBEC6C139005A872F0D032278DDCFEE8E636303308F418F73E3FCB7B63464D0B798AF6C9717BBC5DEE4C9150E8B271E12B53D2DC24D62BB1B522696BA13C5F73022D8B7CF740D798573335CAA3B04CEE0BDCADCC2DFD20E920A0B83391E2CFA2E0441B6473EBD291791F09B4ADA70A5286EB05167BD59BFD8C46427" - "413D6079846BE00FC21D586D7F2C2AF4FEF5A3F2E0AD8F4D487B9B6BF50ACE604177339912E5991C713532E81FA57F9BA562E1D3026D2D2D7373D99871BC62768AD70D676B893C9B7BEF24DF70145E4CE1DD2B660884C82FB0EE47D1473FDD0B8C4414011CBE8E48BFCBC428382A66B103B905C0CAB36A7511B1BD6E23F4C69073CBE6C22F2E9109F9BB35426BDDB4A69EB8F45CD5B226F92E8026F1E62DE1DE435A4FC0CAEDA91C38A88F0037BDB296CD7B07FF040B1E08F02711E946B307A5A38487F53070985B8E28BE6CCE809F34100F0CA780996CD38E91BA7773BB632D0BE7978F3AF3A92B961BD3A8759590726D6C1811F9E0BCA87377334E7C1F12FE37401CA0200823938C816ED98981521470F7F2CCDD69D85E7530EBF39E3A592B1C09BC6C352C3FDB108FB26E7ACD3D5A4FC0442962E2C09651AC0D026E370F1EE1A8219C4833D70793D6E581FD25B0E95FAB1EDA67232C2FA12C4E379A6627E75AD408C1D2526005F2567CED8608E88CF53064FCDC58007198ADFA860F9FED1DF80EFACC768A0A063E1AFEE6DF1BE3483105B1C45EB50BF7863B4278422CEBA9001EA00299AC0415BF28A9C49CC2E92FC15565B547538A027886C6EB0D83B71138CE1A14BCBE4FA64052B0853EDE00CD41BF95B66DA2A519216FA1A0A8BA5F10B4EAFD8BE62C40DA2A76DFD8A5EE8EF42A8B808C55A533FC488A2B33A935A635E24F3E0C717E2320FF575ADDB18C567B1333DECB0855E069D5759C48FE6D8C6A9D217BFCB7A9D40735A3151382E3456CC4BEDF6C7EC94F186FCB6BF9398FEC934714E8E231402FC7BD5153981C7C789B26208DDD77E4796F70D6A72B7B9C5EC75E4E3CD122F72621E92B1AC515A33B12B1801B2C3E461AF788661815E6BAD2E6472116B89B941A0E68A232089C6F831229BE2EB0CD244BE4FED78C8371D2DC614445C76907F4A3EDF18722BF0998FD03209C31C348CC79A2AD06ABB1B3CC549E73B206A05345EC801A1C5C42D794BA1A35747493D76CA8567B62F0C2151923D8D9CD2F37D77E70EF7E12A80A3DC73CE284F2BAAE3816C351BAF037F5FBDF29A970BB385C19D6AC3BDECA5BE59F322A17FBAFF466E945FBB943BFE35854802837FEFEA3937069240712886742E890428C0C21BC057E82D5BB961095A5A18DE149CD19F79E9DC3CF0FEB5149F856C5A7BB82B6AFD4B5310993D9E4E1D33B4CC601265906186B98CAB4AF1570CFDC928C0A221A3BBFFE8E566D580A689AB51BB69826FA60135F60C1A1EA97CCCC9AE96CC93B66942370BCF910D916CBB7F87A0BF5EF46DFEBB050637754B0E40509441E19465B238EA45270D7BF5E0610A89B4A47AA821D9A3BA58127DDCEE4E7204C38E0EEDDFF72B07FA5AD8EB1FA89554D940C2C88EF588F62EA602BA30FA9ECF3462711612B3E1AC0CDC4C11C85ABB04AE5966743689380FD336A081B8C7F753B889BD73F10345B8C4988A7A4C865250E3707A8424B606059E3ACEA75F2F732058477097D5BF8F5A2DF82E4AF0EE9C4BB251A5657C15808B7EF26806E2F3D61137B44C9DF4196A9208065ED1C70F9DCE3C75AFD719F14D79818812360E4709E521E78B983F99B31863039069D3F86FFAAF318853EB4A1AFFC5E598ACB6B15198E016C779BB7D77C54971E4566C2071EDFC0D19B41827913C5F7EE5D8A9411AB2706F3C9DD8E2CF4AF497765A647C1AA42E3645485AD6598A776E2A46C9609C73AADC67A7477172D9F497556348B5CC055D8A6A0A752E5B9A508BCDC346BD1AD8643FA19EB36D922A018690D37D0E437857A78C47291B3530D6094FDEDB782E1C927C11235EE632F6C3FA150DE1BC1125FEB330079EDB0733B58F1CDD3D20904F85DE31C06FE375E7D1E20F4C79484C5431A026EF8F5C8AC47E7FEA2A80E17256ED956484E9004BD99AD8ECD0D1EE5790A83CF9A14827C3B5D5C25AA18255F5D512917BC1FA868AF35ED3540BF0C10CABB267F612C26AE27DEDB5665A4DE3913AA2631C034C1BD22E5A721194BE6D1E4337D1CF488E9F438BF7F77A856295E0D55A3AF7F55BEF0D7643D85B8892A69304AB1FECE1EA498B7DA996B2692EB8C3D1D8BC9BECCFECC8EC67EE3A87DF5B0B9C7C887DCB0CBA7F5E1372399F3A4F4CC7DF247752994CE0D024D2C6E620EDD0B8CD30891FAF58D6603D01C8308F95620A16B4B993AEC83DC9E71A16C2D22B89E7CF8290DB074AA6092A1F23DCD01D8B8C70674D55670C07A6D0655CF37D0516E6E1102865F0C53C5AF80A45B09B078337D61AFBD12DA2820AE45CC4B213C00576FF3D5FC21D0DB8D877757226F81078653EB4C90C0D2C7D304A6E0C4265DC3C1DB343202664008385964C6C56FA11532D7CF41E93F92EF28F3DE2CA1D5817AF2114A97BDA7F6504EBB2A6EE6BF4753274BE064D3CE467673717AD7350DE4E83A1BA27306F11DF36A2E30572E3FEF2EF6B2518419395DA9B7D4B191C88F3A863A477A2D226E5BCC04E39AAF1AA042A7B115CA26BE8DA52A162FDCEC6E511B1497FFB8B8AD23D3C429F71236DCAF9DE275D7B1D2DBE83822FF7D8C9BC7BA3AB5CB517228AFE2E30C53E64C44D02CF9CB51CE371827CDBDF798B1723B418EC7CDF66CF09F444A06DDB94355F529337D6A3178D754D68BE658934FEABD4F4874B11E739F0EE4E95D2D23B41F037B9668C9F74D2B3D31027861779FF8516A29246D766D2A61A02CD5B8E338B9630E8E0ED5BDACB017A6D3B89C8A1108E525BAD96E203E7A0C0B7F2148274FD20F9B53601F2B38DF303D7F8785D06260485D7507782E11855EA62F44C755E11DC4E5E06CA263A2E6D229726B08A66962C1AAFE0B85A896D3A21AB0E695CCF3818C69AE16DC71782D99440EC9AF4A9C33FFBC728C9C62C47E0D" - "37CEA661064246A8B2BBA14ABF5767F33E490AEAD721929515F091663B4437BDC34F5B15C7816B7C5CC8035F4FDDB37C9A09712BA1A8E1FB4E0D8B37F0BEABA9D1ACFFBD90B13035960ABEF4E3CFF91B9871E49B16A6F0FF86445C441921D2E698117109D810C864F024F62F8D25C263CADA33916763373D76EC8955ED113F71C40834E79A1BD5E21CC2373598C66168492FFCD083D2A8E7E480F76274C048719AFF98C5E2774BB1039646BD25A240875655A77023B7F884F5852DCD9C5DA173DACEF7F01F6527CB7F5375FEC1FD2D5C90A46D3D0501715B2D4CF51166226D8F35DB7A9ABE320E88F04F460F239DC2C0B65987ADB734C1F9068B89F56E3ABB3B35C1EDBF72E5CE393330FF905F02DA9C591FAC66CBAF1FF1DABB3B199AC4A764EB5272AC230107F230E29845C2E2283763A5832809AF2428C304C07CB21A96D7B7CDADF857F54C91A22B8AE6E4EDC0DEE01FA60697269BB1299F9FD7D3699D4D865A25BF0F31F93DAE1D51C42FE755219BC2A4B2505487483A1B81BFA86BF6A99642C51AC3DC78D5E42FEA4ADCC51C0501A8FD543217134694262E0FF5957CE719766EB0CB34CA2E541992CC2619C65822A763FE6572E3B33C4C8C216B4A62A13BE7FE6FEA1DA8EC1D45CE65C4DFD09532FDAF74F99152DDBF0AAA53806F2C4EB3A156D49ED44C7713B7A50EEEBC575166A1B6CC3AEC2CA98398971F648242C35E8EAA21257BFAC587485D48AC54BC306344EDEBBF2A42B7E37B6086B1D9F54255742F000794155E7245F6CAE1088C20619158F78F7B9554B43C2872DC68AAB415F3065688612EC88D83577278C8A7B64334993F80BE7EDCBF5CEF5B00A2FC5B0CA04564DB35EE027BFB28DA1A7EEE4E72E366A22F6B50780F70355DA825FC2101BF7A057E5D26BF4216269A4C807F6B2055367D88910FBC65533CD0EDE915232B023D039AE21A53217DCF8398A5B70C3F2F1820F5CE459DFBFE7C3C9387F93D488D001F20B039229A704FF0193076F164C378E0AD63A1F11BD3332FAD6A4A6F39302C69607400E8A4B9D9EC1682E88656CF619DE7BA7384B1FD26850B80702BEE5893A4AB526F983AE3F8AD933B2D60CAF51BAAA828B87F55357DDC75A69F41F46493810EB69B9289F0954C9B9AA0A9C4B5B739BB75617C38ECBFE977BE182BE7EEBA3DE73A9F25E491756D4AE3BA047A9542BF62A8AEF9BA9025AAFECBA1F25590F7"; - -/* Decode even-length hex ASCII into out[0..out_len-1]. Returns OQS_SUCCESS or OQS_ERROR. */ -static OQS_STATUS hex_decode(const char *hex, uint8_t *out, size_t out_len) { - size_t hlen = strlen(hex); - if (hlen != out_len * 2) { - return OQS_ERROR; - } - for (size_t i = 0; i < out_len; i++) { - unsigned char c0 = (unsigned char)hex[2 * i]; - unsigned char c1 = (unsigned char)hex[2 * i + 1]; - unsigned v0, v1; - if (c0 >= '0' && c0 <= '9') { - v0 = c0 - (unsigned char)'0'; - } else if (c0 >= 'A' && c0 <= 'F') { - v0 = 10 + c0 - (unsigned char)'A'; - } else if (c0 >= 'a' && c0 <= 'f') { - v0 = 10 + c0 - (unsigned char)'a'; - } else { - return OQS_ERROR; - } - if (c1 >= '0' && c1 <= '9') { - v1 = c1 - (unsigned char)'0'; - } else if (c1 >= 'A' && c1 <= 'F') { - v1 = 10 + c1 - (unsigned char)'A'; - } else if (c1 >= 'a' && c1 <= 'f') { - v1 = 10 + c1 - (unsigned char)'a'; - } else { - return OQS_ERROR; - } - out[i] = (uint8_t)((v0 << 4) | v1); - } - return OQS_SUCCESS; -} - -static void cleanup_cached(void) { - for (size_t i = 0; i < NUM_TARGET_ALGS; i++) { - if (cached[i].sig != NULL) { - OQS_MEM_insecure_free(cached[i].public_key); - OQS_MEM_insecure_free(cached[i].signature); - OQS_MEM_secure_free(cached[i].message, cached[i].message_len); - OQS_SIG_STFL_free(cached[i].sig); - cached[i].sig = NULL; - } - } -} - -typedef struct { - const char *pk_hex; - const char *msg_hex; - const char *sm_hex; -} kat_hex_triple_t; - -static const kat_hex_triple_t KAT_HEX[NUM_TARGET_ALGS] = { - { KAT_XMSS_SHA2_10_256_PK_HEX, KAT_XMSS_SHA2_10_256_MSG_HEX, KAT_XMSS_SHA2_10_256_SM_HEX }, - { KAT_XMSSMT_SHA2_20_2_256_PK_HEX, KAT_XMSSMT_SHA2_20_2_256_MSG_HEX, KAT_XMSSMT_SHA2_20_2_256_SM_HEX }, -}; - -/* - * Load KAT vectors once at startup. Avoids XMSS key generation cost. - */ -static OQS_STATUS init_vectors(void) { - for (size_t i = 0; i < NUM_TARGET_ALGS; i++) { - cached[i].sig = NULL; - cached[i].public_key = NULL; - cached[i].signature = NULL; - cached[i].message = NULL; - } - - for (size_t i = 0; i < NUM_TARGET_ALGS; i++) { - OQS_SIG_STFL *sig = OQS_SIG_STFL_new(TARGET_ALGS[i]); - if (sig == NULL) { - fprintf(stderr, "ERROR: %s not enabled at compile-time.\n", - TARGET_ALGS[i]); - cleanup_cached(); - return OQS_ERROR; - } - cached[i].sig = sig; - - cached[i].public_key = OQS_MEM_malloc(sig->length_public_key); - cached[i].signature = OQS_MEM_malloc(sig->length_signature); - cached[i].signature_len = sig->length_signature; - cached[i].message_len = strlen(KAT_HEX[i].msg_hex) / 2; - cached[i].message = OQS_MEM_malloc(cached[i].message_len); - - if (!cached[i].public_key || !cached[i].message || !cached[i].signature) { - fprintf(stderr, "ERROR: OQS_MEM_malloc failed for %s.\n", - TARGET_ALGS[i]); - cleanup_cached(); - return OQS_ERROR; - } - - if (hex_decode(KAT_HEX[i].pk_hex, cached[i].public_key, - sig->length_public_key) != OQS_SUCCESS) { - fprintf(stderr, "ERROR: KAT pk hex length mismatch for %s.\n", - TARGET_ALGS[i]); - cleanup_cached(); - return OQS_ERROR; - } - if (hex_decode(KAT_HEX[i].msg_hex, cached[i].message, - cached[i].message_len) != OQS_SUCCESS) { - fprintf(stderr, "ERROR: KAT msg hex for %s.\n", TARGET_ALGS[i]); - cleanup_cached(); - return OQS_ERROR; - } - if (hex_decode(KAT_HEX[i].sm_hex, cached[i].signature, - sig->length_signature) != OQS_SUCCESS) { - fprintf(stderr, "ERROR: KAT sm hex length mismatch for %s.\n", - TARGET_ALGS[i]); - cleanup_cached(); - return OQS_ERROR; - } - } - return OQS_SUCCESS; -} - -static OQS_STATUS fuzz_sig_stfl_xmss(const uint8_t *data, size_t data_len) { - if (data_len < 1) { - return OQS_ERROR; - } - - /* Select target algorithm from first byte of fuzz input */ - size_t alg_idx = data[0] % NUM_TARGET_ALGS; - stfl_keypair_t *kp = &cached[alg_idx]; - OQS_SIG_STFL *sig = kp->sig; - - const uint8_t *fuzz_data = data + 1; - size_t fuzz_len = data_len - 1; - - /* - * Build mutated public_key, signature, and message from fuzz input. - * Use the real sizes from the sig object but fill with fuzzed bytes. - * If fuzz input is too short, zero-pad. - */ - size_t pk_len = sig->length_public_key; - size_t sig_len = kp->signature_len; - size_t msg_len = kp->message_len; - - uint8_t *mutated_pk = OQS_MEM_malloc(pk_len); - uint8_t *mutated_sig = OQS_MEM_malloc(sig_len); - uint8_t *mutated_msg = OQS_MEM_malloc(msg_len); - - if (!mutated_pk || !mutated_sig || !mutated_msg) { - OQS_MEM_insecure_free(mutated_pk); - OQS_MEM_insecure_free(mutated_sig); - OQS_MEM_insecure_free(mutated_msg); - return OQS_ERROR; - } - - /* Start from KAT values, then overwrite with fuzz bytes */ - memcpy(mutated_pk, kp->public_key, pk_len); - memcpy(mutated_sig, kp->signature, sig_len); - memcpy(mutated_msg, kp->message, msg_len); - - size_t offset = 0; - - if (offset < fuzz_len) { - size_t copy = (fuzz_len - offset) < pk_len ? (fuzz_len - offset) : pk_len; - memcpy(mutated_pk, fuzz_data + offset, copy); - offset += copy; - } - if (offset < fuzz_len) { - size_t copy = (fuzz_len - offset) < sig_len ? (fuzz_len - offset) : sig_len; - memcpy(mutated_sig, fuzz_data + offset, copy); - offset += copy; - } - if (offset < fuzz_len) { - size_t copy = (fuzz_len - offset) < msg_len ? (fuzz_len - offset) : msg_len; - memcpy(mutated_msg, fuzz_data + offset, copy); - } - - /* - * Call OQS_SIG_STFL_verify with mutated inputs. - * We expect OQS_ERROR for invalid inputs — a crash here is a bug. - */ - OQS_SIG_STFL_verify(sig, mutated_msg, msg_len, mutated_sig, sig_len, - mutated_pk); - - OQS_MEM_insecure_free(mutated_pk); - OQS_MEM_insecure_free(mutated_sig); - OQS_MEM_secure_free(mutated_msg, msg_len); - - return OQS_SUCCESS; -} - -int LLVMFuzzerInitialize(int *argc, char ***argv) { - (void)argc; - (void)argv; - OQS_init(); - if (OQS_SUCCESS != init_vectors()) { - return -1; - } - initialised = true; - return 0; -} - -int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { - if (!initialised) { - return -1; - } - fuzz_sig_stfl_xmss(data, size); - return 0; -} diff --git a/tests/fuzz_test_sig_verify.c b/tests/fuzz_test_sig_verify.c new file mode 100644 index 0000000000..c00e0365da --- /dev/null +++ b/tests/fuzz_test_sig_verify.c @@ -0,0 +1,115 @@ +/* + * FUZZ TARGET: OQS_SIG_verify() / OQS_SIG_verify_with_ctx_str() + * SOURCE FILE: src/sig/sig.c + * + * ATTACK SURFACE: + * Remote callers control serialized public keys, signatures, messages, and + * context strings supplied to generic signature verification APIs. + * + * ATTACK SCENARIO: + * An attacker sends malformed verification inputs that reach scheme-specific + * signature/public-key decoders and context handling before authentication. + * + * POTENTIAL IMPACT: + * - Memory corruption or out-of-bounds reads in signature decoders + * - Alternate encodings or context handling bugs that bypass verification + * - Denial of service from malformed verification inputs + * + * REPRODUCTION IN REAL DEPLOYMENT: + * 1. Save the crashing corpus input. + * 2. Re-run this target with the same algorithm enabled and ASan active. + * 3. Feed the extracted verification tuple to the application verify path. + * + * SPDX-License-Identifier: MIT + */ + +#include +#include +#include + +#include + +#include "fuzz/fuzz_helpers.h" +#include "fuzz/fuzz_sig_cache.h" + +static void patch_fields(uint8_t **fields, const size_t *field_lens, const size_t *offsets, size_t field_count, size_t first_field, oqs_fuzz_cursor *cursor) { + for (size_t i = 0; i < field_count; i++) { + size_t field_index = (first_field + i) % field_count; + size_t remaining_fields = field_count - i; + size_t remaining = oqs_fuzz_remaining(cursor); + size_t patch_len = remaining_fields > 0 ? (remaining + remaining_fields - 1) / remaining_fields : 0; + oqs_fuzz_patch(fields[field_index], field_lens[field_index], offsets[field_index], cursor, patch_len); + } +} + +int LLVMFuzzerInitialize(int *argc, char ***argv) { + (void)argc; + (void)argv; + oqs_fuzz_init(); + return 0; +} + +int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { + oqs_fuzz_header header; + oqs_fuzz_cursor cursor; + if (!oqs_fuzz_read_header(data, size, &header, &cursor)) { + return 0; + } + + size_t algorithm_index = (size_t)header.algorithm_index % (size_t)(OQS_SIG_algs_length); + oqs_fuzz_sig_cache_entry *entry = oqs_fuzz_sig_cache_get(algorithm_index); + if (entry == NULL) { + return 0; + } + + bool use_ctx_api = (header.mode % 3u) != 0; + bool null_ctx = (header.mode % 3u) == 2; + const uint8_t *baseline_signature = entry->signature; + size_t baseline_signature_len = entry->signature_len; + const uint8_t *baseline_ctx = NULL; + size_t baseline_ctx_len = 0; + if (use_ctx_api && !null_ctx && entry->ctx_signature_len > 0) { + baseline_signature = entry->ctx_signature; + baseline_signature_len = entry->ctx_signature_len; + baseline_ctx = entry->ctx; + baseline_ctx_len = OQS_FUZZ_SIG_BASE_CTX_LEN; + } + + size_t max_signature_len = entry->sig->length_signature + OQS_FUZZ_SIGNATURE_SLACK; + size_t signature_len = oqs_fuzz_take_size(&cursor, max_signature_len, baseline_signature_len); + size_t message_len = oqs_fuzz_take_size(&cursor, OQS_FUZZ_MAX_MESSAGE_LEN, OQS_FUZZ_SIG_BASE_MESSAGE_LEN); + size_t ctx_len = null_ctx ? 0 : oqs_fuzz_take_size(&cursor, OQS_FUZZ_MAX_CTX_LEN, baseline_ctx_len); + + size_t offsets[4]; + for (size_t i = 0; i < 4; i++) { + offsets[i] = (size_t)oqs_fuzz_take_u32(&cursor, 0); + } + + oqs_fuzz_copy_baseline(entry->scratch_public_key, entry->sig->length_public_key, entry->public_key, entry->sig->length_public_key); + oqs_fuzz_copy_baseline(entry->scratch_signature, max_signature_len, baseline_signature, baseline_signature_len); + oqs_fuzz_copy_baseline(entry->scratch_message, OQS_FUZZ_MAX_MESSAGE_LEN, entry->message, OQS_FUZZ_SIG_BASE_MESSAGE_LEN); + oqs_fuzz_copy_baseline(entry->scratch_ctx, OQS_FUZZ_MAX_CTX_LEN, baseline_ctx, baseline_ctx_len); + + uint8_t *fields[4] = { + entry->scratch_public_key, + entry->scratch_signature, + entry->scratch_message, + entry->scratch_ctx, + }; + size_t field_lens[4] = { + entry->sig->length_public_key, + signature_len, + message_len, + ctx_len, + }; + size_t field_count = null_ctx ? 3 : 4; + patch_fields(fields, field_lens, offsets, field_count, (size_t)header.flags % field_count, &cursor); + + if (use_ctx_api) { + const uint8_t *ctx = null_ctx ? NULL : entry->scratch_ctx; + (void)OQS_SIG_verify_with_ctx_str(entry->sig, entry->scratch_message, message_len, entry->scratch_signature, signature_len, ctx, ctx_len, entry->scratch_public_key); + } else { + (void)OQS_SIG_verify(entry->sig, entry->scratch_message, message_len, entry->scratch_signature, signature_len, entry->scratch_public_key); + } + return 0; +}