[rom] Implement and test MGF1 and SHA2-based thash. #23710
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Part of #23144
These are preliminary steps for SHA2-based SPHINCS+; essentially the changes I can make without actually flipping the switch on the whole implementation. I've added an MGF1 implementation and a SHA2 version of the SPHINCS+
thash
operation, and tests for both that I created using a known-good third-party implementation.As a side change, I also added
test_rom
targets for all SPHINCS+ subcomponent tests. I found this useful for debugging, especially since it might be helpful to test SPHINCS+ subcomponents on commits/targets where there are issues with the ROM boot flow.