Skip to content

Conversation

daxpedda
Copy link
Contributor

Currently most mathematical operations on the twisted curve are implemented on ExtensiblePoint and take an ExtendedPoint as parameter. However, these operations often just convert to an ExtendedPoint internally (by multiplying T1 and T2).

This PR moves operations to "where they belong" to make sure we don't unnecessarily call these conversions. This achieves removing 1 multiplication from Decaf point add/sub operations from previously 9 in total, so a ~10% performance improvement.

There are a couple of other operations that are affected negligibly:

@daxpedda daxpedda changed the title Reduce unnecessary conversions to ExtensiblePoint and back Use ExtendedPoint/ExtensiblePoint more appropriately Jul 26, 2025
@daxpedda daxpedda changed the title Use ExtendedPoint/ExtensiblePoint more appropriately Use Extended/ExtensiblePoint more appropriately Jul 26, 2025
@daxpedda daxpedda force-pushed the ed448-extensible-conv branch from 912c925 to 1f57cdb Compare August 3, 2025 17:16
@daxpedda daxpedda force-pushed the ed448-extensible-conv branch from 1f57cdb to 60ba440 Compare August 3, 2025 17:29
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.

1 participant