Skip to content

Add NTRU back #2176

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
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Conversation

saitomst
Copy link

@saitomst saitomst commented Jun 24, 2025

This PR revives NTRU, which was included up to version 0.72.
This PR resolves #2097. In the event that NTT discontinues maintenance in the future, we would have no objections if liboqs discontinued support for NTRU.

Summary of Changes:

  • Restore the removed NTRU implementation while adapting it to the latest environment.

    • We plan to contribute by adding polynomial multiplication, such as TMVP, in the future. 
  • Change the CODEOWNERS of NTRU KEM, taking responsibility for its maintenance.

  • 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 will also need to be ready for review and merge by the time this is merged.)

Thank you for reviewing this contribution and for your time. If you have any feedback, we're always happy to make adjustments. This PR was prepared in collaboration with Akira Nagai from NTT.

@saitomst saitomst marked this pull request as ready for review June 24, 2025 09:41
@saitomst
Copy link
Author

A test of the pull request test suite is failing on the Docker pull phase. Can anyone re-run the test?

Copy link
Contributor

@ashman-p ashman-p left a comment

Choose a reason for hiding this comment

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

Thanks very much for the contribution.

Copy link
Member

@praveksharma praveksharma left a comment

Choose a reason for hiding this comment

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

Thank you for the work @saitomst!

This commit includes following changes:
* Revert "Removed NTRU. (open-quantum-safe#1335)"
* Replace the uses of malloc with OQS_MEM_malloc
* Add a derandomized keypair function
* Add "all" entries of NTRU algorithms to the KATs file
* Fix reflecting the removal of NTRU from PQClean
* Update NTRU documents with the latest manners
* Change the CODEOWNERS of NTRU KEM

Signed-off-by: Saito Masataka <[email protected]>
@saitomst
Copy link
Author

I rebased my branch onto the latest main to resolve the conflicts.
However, the CI build is currently failing due to an issue on the CI platform, not related to the changes in this PR.
Could anyone please rerun the CI when you get a chance? Thank you!

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.

Add NTRU back
3 participants