Skip to content

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