Skip to content

Add decaf448 support #139

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

Draft
wants to merge 3 commits into
base: main
Choose a base branch
from
Draft

Add decaf448 support #139

wants to merge 3 commits into from

Conversation

daxpedda
Copy link
Contributor

@daxpedda daxpedda commented Apr 12, 2025

This PR adds support for decaf448 based on RustCrypto/elliptic-curves#1121.

  • Update MSRV to v1.85 and edition to 2024 because elliptic-curve` & co. betas require it.
  • Update elliptic-curve & co. to v0.14.0-rc.1. It will still take a while for all these dependencies to release a stable version, see Tracking issue for next release series RustCrypto/traits#1571.
  • Add Decaf448 and implement CipherSuite and Group. This also adds the decaf448 and decaf448-ciphersuite crate feature.
  • Expand CipherSuite with type ExpandMsg, now that we aren't just using expand_message_xmd, but also expand_message_xof. This also gets rid of a some constraints on CipherSuite and Group that where only relevant for ExpandMsgXmd.
  • Change the hash output constraint from 256 bytes to u16::MAX, the only real constraint set upon the hash size by the protocol: https://www.rfc-editor.org/rfc/rfc9497#section-2.2.1-5. I2OSP(len(seed), 2), the seed is a hash output, which would fail if its length doesn't fit into a u16 here.
  • Constrain Group::ElemLen with IsLess<U65536>, which gets rid of a potential runtime error, that is now moved to compile time.

Based on #140.

@facebook-github-bot facebook-github-bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Apr 12, 2025
@daxpedda daxpedda force-pushed the decaf448 branch 8 times, most recently from ec34342 to 1690d5e Compare April 12, 2025 19:41
@daxpedda
Copy link
Contributor Author

daxpedda commented Apr 15, 2025

Split MSRV bump off in #140.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants