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

Support Falcon PADDED format #1710

Merged
merged 11 commits into from
Mar 6, 2024
Merged

Support Falcon PADDED format #1710

merged 11 commits into from
Mar 6, 2024

Conversation

SWilson4
Copy link
Member

@SWilson4 SWilson4 commented Feb 28, 2024

Support the fixed-size PADDED format for Falcon signatures and update the existing Falcon code (which intends to implements the COMPRESSED format) to bring it in line with the spec. Reenable Falcon-1024 in weekly extended KAT tests, as it should now pass.

A couple of points to make review simpler:

  • The only differences between the COMPRESSED and PADDED code should be contained in api.h and pqclean.c. It's probably worth looking at a side-by-side diff of these: for example, pqclean_falcon-512-padded_clean/pqclean.c vs pqclean_falcon-512_clean/pqclean.c.
  • There are no NIST KATs available for the PADDED variant, so I generated my own from the Falcon reference implementation: see https://github.com/SWilson4/falcon-padded-KATs.
  • The corresponding upstream PR is Support Falcon PADDED signature format PQClean/PQClean#530.

Fixes #1561 and #1608.

  • 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 Feb 28, 2024
@SWilson4
Copy link
Member Author

SWilson4 commented Feb 29, 2024

@Frauschi Can you please take a look at the Zephyr test failure? It looks like an out-of-storage error to me, and I'm unsure of the best way to resolve it. The same test fails on the current main, so it's not specific to this PR.

@SWilson4
Copy link
Member Author

The oqs-provider release tests have passed on this branch and the appropriate tracker: https://github.com/open-quantum-safe/oqs-provider/actions/runs/8101766836/job/22142722419

README.md Outdated Show resolved Hide resolved
@baentsch
Copy link
Member

baentsch commented Mar 1, 2024

@Frauschi Can you please take a look at the Zephyr test failure? It looks like an out-of-storage error to me, and I'm unsure of the best way to resolve it. The same test fails on the current main, so it's not specific to this PR.

Indeed, what does "No space left on device" mean in this context? Also FYI, @Frauschi we're aiming of doing a liboqs release containing this PR early next week so resolving this quickly would be very helpful & appreciated.

@Frauschi
Copy link
Contributor

Frauschi commented Mar 1, 2024

@Frauschi Can you please take a look at the Zephyr test failure? It looks like an out-of-storage error to me, and I'm unsure of the best way to resolve it. The same test fails on the current main, so it's not specific to this PR.

Indeed, what does "No space left on device" mean in this context? Also FYI, @Frauschi we're aiming of doing a liboqs release containing this PR early next week so resolving this quickly would be very helpful & appreciated.

I just created PR #1714 that should fix the failing Zephyr CI tests. The problem was the Zephyr installation that has been created within the test environment. A default Zephyr installation is several GBs in size, apparently overfilling the disk space of the Github runner. Hence, the "No space left on device".

@baentsch baentsch mentioned this pull request Mar 1, 2024
2 tasks
@SWilson4 SWilson4 force-pushed the sw-falcon-padded branch 2 times, most recently from c725dfb to 9cd201d Compare March 4, 2024 16:17
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.

Thanks for all this work, @SWilson4 !

@@ -13,8 +13,8 @@ upstreams:
-
name: pqclean
git_url: https://github.com/PQClean/PQClean.git
git_branch: master
git_commit: 0657749a785db30e7f49e9435452cb042edb1852
git_branch: sw-falcon-padded-rename
Copy link
Member

Choose a reason for hiding this comment

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

Just as reminder: This needs changing before final merge.

@SWilson4 SWilson4 merged commit 7e5dbaf into main Mar 6, 2024
76 checks passed
@SWilson4 SWilson4 deleted the sw-falcon-padded branch March 6, 2024 17:02
@baentsch baentsch mentioned this pull request Mar 7, 2024
2 tasks
Eddy-M-K pushed a commit to Eddy-M-K/liboqs that referenced this pull request Apr 5, 2024
Additionally:
- re-enable Falcon-1024 in weekly KAT tests
- Update Falcon licence documentation
- Update deprecated CircleCI image

Signed-off-by: Eddy Kim <Eddy.M.Kim@outlook.com>
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.

Falcon-1024 KATs differ from upstream
6 participants