-
Notifications
You must be signed in to change notification settings - Fork 14
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
Unpacked API for ML-KEM #330
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add documentation to the public APIs. You can also add a warn(missing_docs)
to the crate to show the places. We need that anyway.
df8b66e is not the change that will make this work. The abstraction is required for the extraction, and exposing internal traits is generally a bad idea. |
Thanks, will aim to address all of these by the weekend. |
I think I fixed everything, but still need to merge the C code conflicts. |
Merged, resolved conflicts, regenerated C code. |
Done |
Review re-requested
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! lgtm with a few final nits.
Looks like there are a mlkem768.cc~
files that shouldn't be there.
Review re-requested
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This PR adds an unpacked API for the three variants of ML-KEM (512, 768, 1024) and for the three platforms we support (avx2, neon, portable). There is no generic multiplexing API for this, since the unpacked API exposes internal state which is different for the three platforms.