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

[ZIP 216] Require Canonical Jubjub Point Encodings #400

Closed
daira opened this issue Sep 22, 2020 · 3 comments
Closed

[ZIP 216] Require Canonical Jubjub Point Encodings #400

daira opened this issue Sep 22, 2020 · 3 comments

Comments

@daira
Copy link
Collaborator

daira commented Sep 22, 2020

Exclude the non-canonical encodings of Jubjub and Ed25519 points (0, ±1) with ũ = 1 from all point representations in transactions.

This was the original intent (for Jubjub), but is not enforced by the current implementations. This change would be targetted for NU5.

ZIP stub: https://zips.z.cash/zip-0216

@daira
Copy link
Collaborator Author

daira commented Sep 24, 2020

I'm inclined not to make this change for the R points in Ed25519 and RedDSA signatures; only for other points. For both Ed25519 as defined by ZIP 215 and RedDSA, the consequences of the non-canonical encoding are straightforward to analyse, and do not result in any known or likely security weakness. In particular the proof of strong unforgeability (therefore nonmalleability) still holds, because the original encoding of R is an input to the internal hash function.

@hdevalence
Copy link
Contributor

hdevalence commented Nov 10, 2020

I don't think that this was the original intent for Ed25519 points; there is no clear intent in the reference implementation and the intent for ZIP215 is explicitly to allow these points. Without some further rationale about why the point representations should be changed again, I don't think this is a good idea.

@daira daira changed the title [ZIP 216] Require Canonical Point Encodings [ZIP 216] Require Canonical Jubjub Point Encodings Feb 28, 2021
@daira
Copy link
Collaborator Author

daira commented Apr 7, 2021

This is written.

@hdevalence: the validation of Ed25519 signatures is not changed relative to ZIP 215.

@daira daira closed this as completed Apr 7, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants