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

Add features for ml-kem variants #333

Merged
merged 11 commits into from
Jun 26, 2024

Conversation

franziskuskiefer
Copy link
Member

This PR

  • adds ml-kem variants features (mlkem768 etc) to allow enabling only a single variant
  • adds separate extraction for mlkem768 in a header only mode with cg.yaml
  • makes c extraction in c.sh more flexible to use all these things

The Rust code changes are

  • use a simple for loop in rejection sampling
  • drop strings from unimplemented macros in sha3 to avoid extraction them to C
  • disable the multiplexing module when extracting C

Copy link
Contributor

@karthikbhargavan karthikbhargavan left a comment

Choose a reason for hiding this comment

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

Looks good. It works on my machine as well.
Shall we document the various features and use-cases in libcrux-ml-kem/README.md?

@franziskuskiefer
Copy link
Member Author

Shall we document the various features and use-cases in libcrux-ml-kem/README.md?

Features can be nicely documented in the rust docs. That's where people also expect them and where they don't get out of sync. We need to do a pass on docs before publishing anyway.

@franziskuskiefer franziskuskiefer merged commit 5611bb3 into dev Jun 26, 2024
46 checks passed
@franziskuskiefer franziskuskiefer deleted the franziskus/mlkem-variants-features branch June 26, 2024 19:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: ✅ Done
Development

Successfully merging this pull request may close these issues.

2 participants