-
Notifications
You must be signed in to change notification settings - Fork 82
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
Added provisional FN-DSA implementation (2025-02-01, with ARM Cortex-… #377
Conversation
…M4F optimizations).
Tracking progress:
|
Superseded by mupq/pqm4#377
Superseded by provisional FN-DSA mupq#377
Thanks @pornin for contributing this! Everything works fine on my end. What's possibly a bit confusing is that you are using a local SHA-3/SHAKE implementations which results in our hashing benchmarks showing 0 cycles spent in hashing. |
Switching implementation is kinda delicate; mine ensures that the output of Keccak-f is readable directly from the SHAKE buffer. Making an extra function call to do that shows up in the performance figures of verification (the hash-to-point process does that a lot). Alternatively, I could extract bytes by chunks of 136 bytes into an extra buffer, but that will increase stack usage by 136 bytes. Adding the profiling should not be too hard, I'll check that now. |
Superseded by provisional FN-DSA #377
…us target Got removed in #377
…us target Got removed in #377
FN-DSA (to-be-standardized Falcon) with M4F optimizations. This is a "provisional" FN-DSA, since the FN-DSA standard is not published yet. This PR relies on the following PR to be first imported in mupq: mupq/mupq#162
Additional M4F optimizations are imported from https://github.com/pornin/c-fn-dsa
This works on my STM32F4 Discovery board. I do not have any other M4 board to test on.