Skip to content

Choice of name for curve point coordinates #7

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

Closed
LoupVaillant opened this issue Apr 21, 2021 · 2 comments
Closed

Choice of name for curve point coordinates #7

LoupVaillant opened this issue Apr 21, 2021 · 2 comments

Comments

@LoupVaillant
Copy link
Owner

Currently, the text uses x and y to denote the coordinates of a curve point. This is in line with the original Elligator paper, earlier DJB paper on Curve25519, and the Ref10 source code. (Heck, even Monocypher kept that convention.)

The problem with that choice is that convention has since changed. RFCs now tend to refer to Montgomery curve point coordinates as (u, v) instead. I believe they do this to prevent ambiguities with (twisted) Edwards curves, for which they still use (x, y).

I'm personally inclined to follow the most recent convention for the sake of it. More importantly though, we actually Edwards curves to speed up the procedure involving the inverse map. Well need to show the (x, y) to (u, v) conversion at some point, or at least the extended coordinate variant. (And now I don't know what to do about Z, which is now used 3 times: Montgomery extended, Edwards extended, and the non-square. We'll address that later, perhaps…)

I'll do the edit, but I want to make sure we agree on the convention to begin with.

@fscoto
Copy link
Collaborator

fscoto commented Apr 24, 2021

As long as it's made clear that Montgomery curves use (uv) and (twisted) Edwards curves use (xy), that's alright with me.

@LoupVaillant
Copy link
Owner Author

Cool. I'll make the change, and close this when it's done.

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

No branches or pull requests

2 participants