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

Update McEliece suppression files for generic config #1677

Merged
merged 3 commits into from
Feb 7, 2024

Conversation

SWilson4
Copy link
Member

This PR updates the suppression files for the "clean" (pure C) implementation of Classic McEliece. I've run the tests both in a container built from the CI image and locally on my machine.

For now, I've labelled all of these as "issues", as I'm not knowledgeable enough about McEliece to confidently classify them as false positives or true instances of secret-dependent behaviour. I believe that this is in line with what we had done previously for the AVX2 constant-time failures.

To test:

rm -rf build && mkdir build && cd build
cmake -GNinja -DOQS_DIST_BUILD=OFF -DOQS_OPT_TARGET=generic -DCMAKE_BUILD_TYPE=Debug -DOQS_ENABLE_TEST_CONSTANT_TIME=ON .. && ninja ; cd -
python3 -m pytest -n=auto -k "McEliece" -v tests/test_constant_time.py

Partially addresses #1666.

I suspect that this may also address #1540. @bhess @praveksharma is it plausible that the "env-specific" constant-time errors were simply caused by building without AVX2 optimization? There were previously no suppressions for the "clean" implementation.

  • Does this PR change the input/output behaviour of a cryptographic algorithm (i.e., does it change known answer test values)? (If so, a version bump will be required from x.y.z to x.(y+1).0.)
  • Does this PR change the list of algorithms available -- either adding, removing, or renaming? Does this PR otherwise change an API? (If so, PRs in fully supported downstream projects dependent on these, i.e., oqs-provider and OQS-OpenSSH will also need to be ready for review and merge by the time this is merged.)

@SWilson4 SWilson4 added this to the 0.10.0 milestone Jan 23, 2024
@SWilson4 SWilson4 force-pushed the sw-mceliece-suppression-files branch from 10ad531 to 0c54522 Compare February 5, 2024 14:48
@SWilson4
Copy link
Member Author

SWilson4 commented Feb 5, 2024

I've just updated the weekly constant-time runs so that the smallest parameter set of McEliece is tested there. I don't think it will add too much overhead, and it will (hopefully) make sure that we don't let these suppression files get out of sync in the future.

Copy link
Member

@baentsch baentsch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@SWilson4 SWilson4 merged commit dea5170 into main Feb 7, 2024
1 check passed
@SWilson4 SWilson4 deleted the sw-mceliece-suppression-files branch February 7, 2024 18:27
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.

3 participants