arkworks-rs / curves

Implementations of popular elliptic curves
https://www.arkworks.rs
Apache License 2.0
303 stars 103 forks source link

Bw6-761 optimized Miller loop #155

Closed mmagician closed 1 year ago

mmagician commented 1 year ago

Description

Companion to https://github.com/arkworks-rs/algebra/pull/617


Before we can merge this PR, please make sure that all the following items have been checked off. If any of the checklist items are not applicable, please leave them but write a little note why.

weikengchen commented 1 year ago

Just to check: is the pairing equivalent or not? --- latter would be breaking.

mmagician commented 1 year ago

The pairing's equivalent. But you bring up a good point - the parameters for the Miller loop need to be adjusted, so maybe the ec change should be considered as a breaking change? This would only be breaking if someone had their own implementation of another bw6 curve and was already using arkworks 0.4+. In the end, we should probably stick to best practices though.

weikengchen commented 1 year ago

If the pairing is equivalent, then I think it would be completely okay---we do this, but just leave a changelog entry that the parameters have been changed.

weikengchen commented 1 year ago

^ and in this case, ec change should surely be a breaking change.

weikengchen commented 1 year ago

I believe we can merge this one first and then see if the test in the algebra passes.

Pratyush commented 1 year ago

@mmagician Let's merge this once the parameters are updated.

mmagician commented 1 year ago

I temporarily switched to a branch bw6-optimization from algebra - this should allow us to verify that all tests are indeed passing, and once this PR is merged, we can also merge https://github.com/arkworks-rs/algebra/pull/617, and finally update the patch.