Hi,
I have a bunch of optimizations for faster G1/G2 scalar multiplications sitting in a fork at https://github.com/dfaranha/bls12_381
These provide a 2x speedup and include:
- Regular w-NAF recodings to reduce the number of point additions in comparison to double-and-always add
- GLV recoding for scalar decomposition, combined with interleaving to save half of the point doublings
- Moving to homogeneous projective coordinates for pairing computation to unify point arithmetic
Some technical details can be found at https://skillsmatter.com/skillscasts/17052-experimenting-with-faster-elliptic-curves-in-rust
I would like to know if there is interest in merging, so it makes sense to put time on preparing a proper pull request.
Thank you for your attention!