Implement Barreto-Naehrig curves
Pratyush opened this issue · 5 comments
Baretto-Naehrig curves are a class of pairing-friendly prime-order elliptic curves. It would be great to have an implementation of these that is generic like our implementation of BLS curves. A good starting point is the implementation by @o1-labs in a fork of Zexe: https://github.com/o1-labs/zexe/tree/master/algebra/src/curves/models/bn
It would help to have some papers listed here especially wrt to concrete parameters. I have not been able to hunt to parameters for BN254, for instance.
It would help to have some papers listed here especially wrt to concrete parameters. I have not been able to hunt to parameters for BN254, for instance.
I think you can find the spec in Appendix E of Ethereum Yellowpaper
Concrete parameters can also be found here (for the Ethereum curve): https://github.com/matter-labs/pairing/tree/master/src/bn256
I implemented a bn256 curve, basically implemented, and is testing in practice. zexe-bn256