Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

32-bit ARM AES-GCM: Fix use of BSAES. #1653

Merged
merged 3 commits into from
Sep 27, 2023
Merged

32-bit ARM AES-GCM: Fix use of BSAES. #1653

merged 3 commits into from
Sep 27, 2023

Conversation

briansmith
Copy link
Owner

@briansmith briansmith commented Sep 27, 2023

See each individual commit message.

BoringSSL split up there bn_tests.txt into multiple files, which we had
done previously. Prepare to merge that BoringSSL change by putting the
test input files in the same places.
The slice indexing was wrong. CI did not catch this because it only
uses the implementations that the feature detection logic chooses,
and in CI it uses the emulator that always chooses the hardware AES
implementation.

The consequence is that on 32-bit ARM targets with NEON but without
hardware AES, the encryption/decryption is done incorrectly.

The change that introduced this problem was
74aa79b. I checked (and tested) the
latest release (0.16.20) to verify that it is correct. So this only
affects 0.17, which wasn't been released yet.

The fix mirrors what we were doing before in 0.16.20.
@briansmith briansmith self-assigned this Sep 27, 2023
@briansmith briansmith merged commit cfbd46b into main Sep 27, 2023
265 checks passed
@briansmith briansmith deleted the b/cap-test branch September 27, 2023 02:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant