Skip to content

Conversation

daxpedda
Copy link
Contributor

Taking what I learned from dalek-cryptography/curve25519-dalek#805 I applied this to ed448-goldilocks as well.

This is based on #1335 because the current check for torsion-freeness multiplies by the order, which breaks most proper assumptions made here.

@daxpedda daxpedda mentioned this pull request Aug 14, 2025
49 tasks
@daxpedda daxpedda force-pushed the ed448-mul-opt-2 branch 3 times, most recently from 55b2586 to 7baf0cb Compare September 2, 2025 13:00
@tarcieri
Copy link
Member

tarcieri commented Sep 2, 2025

@daxpedda why is this marked as draft?

Edit: aah, this I guess?

This is based on #1335 because the current check for torsion-freeness multiplies by the order, which breaks most proper assumptions made here.

@daxpedda
Copy link
Contributor Author

daxpedda commented Sep 2, 2025

It requires #1335.

The issue is that it messes with how scalar multiplication works, so the is_torsion_free() function, which multiplies a point with ORDER doesn't work anymore. Which is fine because ORDER isn't a valid scalar anyway. But #1335 implements a faster algorithm for is_torsion_free() which doesn't have the same problem.

@daxpedda daxpedda marked this pull request as ready for review September 2, 2025 20:25
@tarcieri tarcieri merged commit 0e83966 into RustCrypto:master Sep 2, 2025
35 checks passed
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