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

feat: implement UncompressedEncoding #73

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

huitseeker
Copy link

@huitseeker huitseeker commented May 31, 2023

The uncompressed representation (both coordinates are present in an affine point's representation) is useful in cases where one would want to avoid paying for the cost of a point decompression (e.g. public parameter caching).

  • Implement uncompressed encoding for affine representations,
  • Update Rust toolchain to version 1.60.0 to satisfy the requirements of constant_time_eq & regex,
  • Add paste dependency at version 1.0.12 in order to give a specific struct for that representation for each of Pallas, Vesta through a macro.
  • Implement serialization / deserialization for the uncompressed encoding, and test it.

Use case:
Point (de)serialization when caching public parameters (for e.g. a vector Pedersen commitments), where the deserialization can be prohibitively expensive if done with the compressed form of the points. The uncompressed points do not have that flaw.

huitseeker and others added 3 commits August 4, 2023 14:46
- Update Rust toolchain to version 1.59.0 to satisfy the requirement of constant_time_eq v0.2.5,
- Implement UncompressedEncoding for affine representations,
- Add `paste` dependency at version 1.0.12 in order to give a specific struct for that representation for each of Pallas, Vesta.
@huitseeker
Copy link
Author

@str4d Please let me know if there's anything I can help with on this PR.

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