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

Adapt Kyber to use Init-Absorb-Squeeze* API #211

Closed
wants to merge 30 commits into from

Conversation

karthikbhargavan
Copy link
Contributor

@karthikbhargavan karthikbhargavan commented Feb 29, 2024

This PR adds the incremental SHA-3 API to libcrux and adapts Kyber to use this incremental API. In particular, sampling uses sample_from_xof which first samples three SHAKE128 blocks, and then, if needed, it squeezes more blocks from the SHAKE128 state.

The code has been adapted to work with both Scalar and Simd256 versions of SHA-3.

The code also uses the opaque_type attribute to hide the internal implementation of SHAKE-128 state in digest.rs

@karthikbhargavan karthikbhargavan changed the base branch from dev to main February 29, 2024 10:59
@dconnolly
Copy link

Neat

@franziskuskiefer
Copy link
Member

We merged #220 instead

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.

3 participants