-
Notifications
You must be signed in to change notification settings - Fork 11
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: remove partial precomputation #129
feat: remove partial precomputation #129
Conversation
Note that this PR was written such that if partial precomputation is added upstream, it will be easy to support by effectively reverting the changes here. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good. Maybe we can add a unit test for the case where If you supply parameters with more inner-product generators than you need, padding is used.?
Updated to ensure that at least version |
af52400
to
1941baf
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK
1941baf
to
001add6
Compare
Rebased, with some commit cleanup. |
Partial precomputation is now supported in the curve library. |
Partial precomputation is the sole reason for maintaining a custom curve library fork, which has proven to be a headache and limits compatibility with other libraries.
This PR removes partial precomputation altogether. If you supply parameters with more inner-product generators than you need, padding is used. This incurs an efficiency hit, but only in this particular case. For the use cases in the Tari ecosystem, this is not an issue.
As a result of this change, we also switch back to the latest version of the upstream curve library and simplify some scalar exponentiation operations. The audit report is also updated to note the curve library dependency change.
Closes #128. Closes #93. Closes #96.