-
Notifications
You must be signed in to change notification settings - Fork 179
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
details about scalar_mul? #197
Comments
Hi @PayneJoe thanks for your interest!
More on (2) and (3). We took a pragmatic approach, so there may be optimizations to be done. We are happy to accept PRs if it makes the code smaller while maintaining the same performance and/or make the performance better. |
Suppose that addition within scalar_mul is Still not clear why the lower range I run a test using curve Am I missing something else about that? Appreciated in advance @srinathsetty @huitseeker |
As commented within code above scalar_mul:
/// A gadget for scalar multiplication, optimized to use incomplete addition law.
/// The optimization here is analogous to https://github.com/arkworks-rs/r1cs-std/blob/6d64f379a27011b3629cf4c9cb38b7b7b695d5a0/src/groups/curves/short_weierstrass/mod.rs#L295,
/// except we use complete addition law over affine coordinates instead of projective coordinates for the tail bits
I have three questions:
diving into code, split index is approximately located at G::Base::NUM_BITS - 2, why?
why do not use complete addition law over projective coordinates within which field inversion disappears as arkworks-rs/r1cs-std do?
other point representation methods such as NAF or GLV would outperform the binary representation here?
The text was updated successfully, but these errors were encountered: