-
Notifications
You must be signed in to change notification settings - Fork 486
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
Endianness issues with BIKE #1101
Comments
Explicitly tagging @dkostic for an opinion on this. |
For Frodo it is indeed just the way |
Hello, I'm very sorry for the long delay (I was on a personal leave for a few weeks). Yes, disabling BIKE in big-endian builds for now is completely fine. |
I think the |
Yes that's what I was thinking as well. |
Ok I can do a PR for this. |
Resolved by #1115. |
When building liboqs on s390x (#1100), everything builds and tests pass, except the KAT for FrodoKEM-SHAKE and BIKE. The most plausible cause to me are endianness issues (s390x is a big-endian architecture).
I open the issue here because Frodo and BIKE are direct contributions to liboqs.
See the build log:
https://app.travis-ci.com/github/bhess/liboqs/jobs/541322083
Frodo seems to already have macros defined to support big-endian and the -AES versions pass the tests.
Looking at the code, I think the way
a_cols
is accessed here could be problematic:liboqs/src/kem/frodokem/external/frodo_macrify_shake_portable.c
Line 42 in 36d8a49
BIKE seems to be explicit about it that the code only supports little-endian:
https://github.com/awslabs/bike-kem/blob/master/cmake/arch.cmake
It could therefore be best to just disable it in big-endian builds for now.
The text was updated successfully, but these errors were encountered: