forked from PQClean/PQClean
-
Notifications
You must be signed in to change notification settings - Fork 0
sync #1
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
Open
NikolaRHristov
wants to merge
267
commits into
ChunkWorks:master
Choose a base branch
from
PQClean:master
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
sync #1
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Update dilithium/{clean,avx}. Resolves #421
Update randombytes
CryptGenRandom expects DWORD
[skip ci]
Use a package to load the correct windows API
Fix windows 2022 build
NTRU uses the CC0 license
Fix a bunch of clang-tidy 12 errors
Remove schemes that are no longer under consideration by NIST
Continuation of #448
[skip ci] Close #374
Update algorithm list
Fix HQC C aliasing violation
Remove stale duplicate consistency
Update workflow dependencies
Fix type of steps buffer in sphincs merkle.c
SPHINCS+ gcc14 errors: unsigned -> uint32_t
Make noexecstack annotation Linux-only
Use more compatible assembly syntax
Embed ___GNUC_PREREQ macro as some toolchains lack features.h
ML-DSA requires SHA3 support on Aarch64
Using the same `python3` executable that is executing the test file itself to run `generate_workflows.py` allows the test to succeed even when the first `python3` binary in the user's `$PATH` is not the same.
ML-DSA currently does not implement some required parts of the API as function symbols and instead only provides function-like macros. This patch replaces the macros with functions so that users can construct function pointers to them. Fixes: #576
This test ensures that the common API functions are exported symbols, as opposed to being compile-time macros or so. It does not currently cover the entire API surface but would nevertheless have caught an issue in the past.
Use correct python3 executable in test_workflows
Implement missing function symbols for ML-DSA
I apparently forgot to replace the macros in two of the nine `api.h` files of the ML-DSA implementations in commit ae29fd8. The previous patch did indeed fix the issue at hand, which was about missing function symbols, because the function symbols are indeed declared in `sign.h` and defined in `sign.c` of each implementation. However, consumers of `api.h` would still see the old macros for the clean and the avx2 implementations of ML-DSA-87 and thus still will not be able to construct function pointers to the relevant functions when including these particular header files. Refs: #576 Refs: #591
This adds a simple test routine to `functest.c` that can be evaluated entirely at compile time and simply ensures that the different API functions used by the test can be assigned to function pointers of the expected function signatures.
Replace macros in ML-DSA-87 clean/avx2 API and add regression test
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Manually checked properties
.github/workflows/generate_workflows.py) (new schemes)for (size_t i=...)stdint.htypes (includinguint8_tinstead ofunsigned char)size_t