cloudflare / bn256

Package bn256 implements a particular bilinear group.
https://godoc.org/github.com/cloudflare/bn256
BSD 3-Clause "New" or "Revised" License
125 stars 43 forks source link

Special square, pow u in final exponentiation (Faster Squaring in the Cyclotomic Subgroup of Sixth Degree Extensions) #35

Open emmansun opened 1 year ago

emmansun commented 1 year ago

Do not know if this project still accept new enhancement, this change can improve pairing performance more than 30%.

https://github.com/emmansun/bn256/commit/b532ebb0ff76a27de8ec9c5a05956c5823bb36ba

Reference:

armfazh commented 1 year ago

that would be good to have it. Feel free to make a PR, so we can review it

armfazh commented 1 year ago

in the meantime, have you take a look at our pairing implementation using a BLS curve. See https://pkg.go.dev/github.com/cloudflare/circl@v1.3.3/ecc/bls12381

emmansun commented 1 year ago

oh, you had implemented https://github.com/cloudflare/circl/blob/v1.3.3/ecc/bls12381/ff/cyclo6.go#L4 in that project.