Skip to content

test(libSceLibreSsl): expand DES ECB known answers - #12775

Open
StoneDC wants to merge 1 commit into
boykopovar:mainfrom
StoneDC:b40/des-variable-kat
Open

StoneDC wants to merge 1 commit into
boykopovar:mainfrom
StoneDC:b40/des-variable-kat

Conversation

@StoneDC

@StoneDC StoneDC commented Oct 29, 2026

Copy link
Copy Markdown
Contributor

What

Adds a dedicated DES ECB known-answer suite with 34 key/plaintext/ciphertext triples, repeated encryption, in-place decryption, schedule reuse and buffer guards. Schedule storage is explicitly aligned, with 16-byte prefix/suffix guards; the fixture does not demand unaligned schedule support.

Implementation basis and limits: published factual vectors from OpenSSL 1.0.2u crypto/des/destest.c: https://github.com/openssl/openssl/blob/OpenSSL_1_0_2u/crypto/des/destest.c . No OpenSSL implementation was copied. Existing host key setup uses the default unchecked mode, consistent with DES_check_key defaulting to zero in https://github.com/openssl/openssl/blob/OpenSSL_1_0_2u/crypto/des/set_key.c . This does not establish PS5 key-schedule layout, checked-key policy, other cipher modes or game compatibility.

Integration review: the exact topic head was checked with the repository overlap tool against main 4c7d275bef89d309313d16bc2bc05d37a1b50be2. The tool reported shared CMake registration files in older PRs that already conflict with main: #9446, #9448, #10448, #10450, #10477, #10478, #10481, #10482, #10483, #10485, #10486, #10488, #10508, #10571, #10834, #10878, #10915, #11003, #11128, #11129, #11138, #11143, #11146, #11151, #11175, #11176, #11359, #11466. Their scoped file diffs were reviewed separately. 14 file comparisons could be projected onto the audit base and then combined with this topic without a new file conflict. 14 peer file changes already conflict with main and are not described as automatically mergeable; their registration changes were inspected directly. These peers do not provide this feature or test matrix. This uses a separate test/registration block and has no functional landing-order dependency. If a shared registration file changes before landing, this branch will need its affected merge and test checks refreshed. All 20 topic commits also merged independently into current validation main 4c7d275bef89d309313d16bc2bc05d37a1b50be2; their combined integration 2a0489dd307a9c98b9b353ea7282b65809db07dd was built and tested. Depends on: none; no other candidate branch is required to build or exercise this change.

Tested

guest_libre_ssl_des_answers passed against the actual mbedTLS-backed library on Linux and Windows, no skips. Replacing the real encryption key setup with decryption setup caused this fixture to fail.

Topic head: 6d8a9646581d0a5a04db6e10717c75e6383db1f7, based on f88c86bf6cdd2c74bcdb31e45ba877d4993e62e5. Local platforms: Ubuntu/WSL GCC 15.2, CMake 4.2.3, Python 3.14.4; Windows MinGW GCC 15.2, CMake 4.3.1, Python 3.14.3. Applicable conventions, whitespace, script registration and current-main three-way merge checks passed. Linux full-product builds and subsequent focused library rebuilds were performed; Windows used the full configuration and the affected library/test targets. The combined 11 system-library CTests passed on both platforms. No game or PS5 measurement is claimed; macOS and hosted full-build CI are not reported as passed.

Checklist

  • Based on current main; no other open PR implements the same functions
  • One topic per PR; follow-ups go in a new PR
  • No comments in code except technical debt
  • Unimplemented paths throw (NotImplemented_nid_no_patch); silent stubs are listed under Silent stubs in their library's technical debt file
  • No notes, investigation .md files or images added to the repository (attach them to this PR)
  • New third-party code is a submodule built from source
  • Generic behaviour, not specific to one title
  • Depends on: none
  • Fixes: none
  • Unblocks: none
  • GPUs tested: n/a
  • AI-assisted: yes

@oneandonlydean oneandonlydean self-assigned this Oct 29, 2026
@github-actions

github-actions Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

Some comparisons could not be completed because a pull request conflicts with the base branch. Review these shared files manually before concluding that there is no overlap.

Pull request Shared files not compared
PR 9446 core/libs/prx/libSceLibreSsl/CMakeLists.txt
PR 10418 core/libs/prx/libSceLibreSsl/CMakeLists.txt
PR 10508 core/libs/prx/libSceLibreSsl/CMakeLists.txt
PR 10570 core/libs/prx/libSceLibreSsl/CMakeLists.txt
PR 10571 core/libs/prx/libSceLibreSsl/CMakeLists.txt
PR 10834 core/libs/prx/libSceLibreSsl/CMakeLists.txt
PR 11128 core/libs/prx/libSceLibreSsl/CMakeLists.txt
PR 11129 core/libs/prx/libSceLibreSsl/CMakeLists.txt
PR 11138 core/libs/prx/libSceLibreSsl/CMakeLists.txt
PR 11143 core/libs/prx/libSceLibreSsl/CMakeLists.txt
PR 11146 core/libs/prx/libSceLibreSsl/CMakeLists.txt
PR 11151 core/libs/prx/libSceLibreSsl/CMakeLists.txt
PR 11175 core/libs/prx/libSceLibreSsl/CMakeLists.txt
PR 11176 core/libs/prx/libSceLibreSsl/CMakeLists.txt

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants