Skip to content

Conversation

daxpedda
Copy link
Contributor

This implements Elligator2 mapping according to RFC 9380 for Curve448 and Ed448.

The current Curve448 mapping was using either the unoptimized or an outdated version. For Ed448 we were currently using the isogeny mapping, which works correctly ofc. However, RFC 9380 specifically outlines an optimized mapping for Ed448 in combination of the Curve448 mapping. This avoids unnecessary inversions between mapping from Curve448 to Ed448.

While Curve448 will first be introduced in #1306, the Ed448 alligator mapping uses the Curve448 mapping.

I simply commented out fn isoginy() as it is now unused. However, it will be adapted in #1306 to facilitate Montgomery to Edwards conversions.

@daxpedda daxpedda requested a review from tarcieri July 20, 2025 15:06
@daxpedda daxpedda mentioned this pull request Aug 3, 2025
47 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants