algebra icon indicating copy to clipboard operation
algebra copied to clipboard

Prepared G2 for CP6-782

Open weikengchen opened this issue 3 years ago • 3 comments

Summary

CP6-782 has a similar G2 preparation strategy as others, and it is useful to have real prepared G2 (especially since now G2Prepared cannot be simply G2Affine, at least with a wrapper).

Problem Definition

Due to upstream changes, it seems a good idea to have a prepared G2 implementation for CP6-782.

Proposal

  1. Have a smoke test for compatibility.
  2. Implement G2 prepared.
  3. Test compatibility.

For Admin Use

  • [x] Not duplicate issue
  • [x] Appropriate labels applied
  • [x] Appropriate contributors tagged
  • [x] Contributor assigned/self-assigned

weikengchen avatar Sep 02 '22 18:09 weikengchen

Why don't we just deprecate this curve? Are there any project who haven't switched to BW-761? The BW one is strictly better, see https://eprint.iacr.org/2020/351.pdf, and is implemented here https://github.com/arkworks-rs/curves/tree/master/bw6_761

swasilyev avatar Mar 19 '23 12:03 swasilyev

You have a valid point, in that today to build 2-chain for BLS12-377 there is virtually no reason to use CP6-782 anymore...

@Pratyush what do you think about the policy of deprecating curves?

To be honest, maintaining a curve in this library is not difficult---every version update is just a minor refactoring...

weikengchen avatar Mar 21 '23 19:03 weikengchen

I need to consult Youssef about whether the BW curves can easily generalize to non-pairing-friendly curves as the base curves (e.g., situations like ed25519/curve25519 or secp256k1). Will add more info here when I get some info.

weikengchen avatar Mar 21 '23 19:03 weikengchen