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

Separate types and common information at the IO Pattern level #6

Open
mmaker opened this issue Feb 2, 2024 · 0 comments
Open

Separate types and common information at the IO Pattern level #6

mmaker opened this issue Feb 2, 2024 · 0 comments

Comments

@mmaker
Copy link
Member

mmaker commented Feb 2, 2024

Currently nimue won't fail if the IO Pattern declares absorbing an EC point, and later a scalar is absorbed (if they have the same size). This is for instance the case in curve25519, where both are of 32 bytes. It'd be nice to have the Rust compiler could recognize this at compile time without making the building time explode.

Looking at how other libraries were going about this problem, it seems that:

  • halo2_proofs is using two different domain separators for points and scalars. Yet, it doesn't distinguish between public and private information.
  • hyperplonk is YOLO'ing it by serializing to bytes
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

1 participant