Add x86 Keccak implementation #2619
Draft
+480
−8
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.
Description of changes:
This PR is a prototype of the x86 Keccak code as part of the third party module. Once the code and the proof are merged into s2n-bignum, the s2n-bignum importer script will be used to integrate the implementation.
Testing:
ninja && ./crypto/crypto_test
./tool/bssl speed -filter {SHA3-224, ...}
SHA3 Performance: Assembly vs C Implementation Tables
SHA3-224
SHA3-256
SHA3-384
SHA3-512
SHA3 Performance: Details
ASM Implementation
C Implementation
###MLKEM Performance: Assembly vs C SHA3 Tables
ML-KEM Performance: Assembly vs C Implementation
ML-KEM-512
ML-KEM-768
ML-KEM-1024
ASM Implementation
C Implementation
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and the ISC license.