Skip to content
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

Mention the identity element and its encoding #5

Open
FiloSottile opened this issue May 16, 2020 · 2 comments
Open

Mention the identity element and its encoding #5

FiloSottile opened this issue May 16, 2020 · 2 comments

Comments

@FiloSottile
Copy link
Collaborator

The identity element just works with encoding and decoding, and there is a test vector for it in the appendix, but I feel like it might be worth calling out in two other places:

  • in Section 4, spelling out its encoding and the fact that it does not require special handling
  • in Section 7, to remind implementers that even if there are no invalid or low-order points, protocols might still have to check for equality with the zero element
@kevaundray
Copy link

Does the second point also imply that low order points are not representable internally?

@FiloSottile
Copy link
Collaborator Author

Does the second point also imply that low order points are not representable internally?

There are no low-order elements (except the identity element of order 1), so there is no way to represent them. (I don't actually know off the top of my head if low-order Curve25519 points all represent the identity element or if they are unreachable through allowed operations or a mix of the two, but it doesn't matter, because internal representatives MUST NOT be exposed.)

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