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
AES-GCM: don't generate M0 when using assembly unless falling back to C and then use new assembly code.
HMAC: add option to copy hashes (--enable-hash-copy -DWOLFSSL_HMAC_COPY_HASH) to improve performance when using the same key for multiple operations.
Testing
./autogen.sh
./configure '--disable-shared' '--enable-intelasm' '--enable-aesgcm-stream' '--enable-hmac-copy'
./wolfcrypt
./wolfcrypt/test/testwolfcrypt
./wolfcrypt/benchmark/benchmark -base10 -hmac-sha256 -mac_final 16
(AES-GCM improvement seen with wolfProvider and openssl speed -aead -evp aes-128-gcm)
Turned off use_aesni after generating the M0 table and used each variant of assembly code.
Checklist