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.
Issues:
Addresses CryptoAlg-2036
Description of changes:
OpenSSL has a function
EVP_MD_do_all
that works the same way asEVP_MD_do_all_sorted
(which AWS-LC currently provides), except that it gives no guarantees on the order in which it calls its input function over the digest collection. Presumably, OpenSSL separates these two functions out for performance reasons, asEVP_MD_do_all_sorted
performs a runtime quicksort (see also here) on the collection. AWS-LC does the "sort" manually at build time, so there's no runtime sorting cost and we can just call out toEVP_MD_do_all_sorted
in ourEVP_MD_do_all
implementation.Call-outs:
n/a
Testing:
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.