Mamy Ratsimbazafy
f6c02fe075
Optimized subgroup checks and cofactor clearing ( #169 )
...
* Move cofactor clearing to dedicated per-curve subgroups file
* Add BLS12-381 fast subgroup checks
* Implement fast cofactor clearing for BN254_snarks
* Add fast subgroup check to BN254Snarks
* add BLS12_377 optimized cofactor and subgroup functions
* Add BN254_Nogami
* Add GT-subgroup tests
* Use the new subgroup checks for Eth1 EVM precompiles
2022-01-03 14:12:58 +01:00
Mamy Ratsimbazafy
c42e2a0251
Rename NotOnTwist/OnTwist => subgroup G1 and G2
2022-01-01 19:17:04 +01:00
Mamy André-Ratsimbazafy
5710a961a1
Rename ECP_ShortW_Proj -> ECP_ShortW_Prj
2021-02-06 16:29:53 +01:00
Mamy Ratsimbazafy
83dcd988b3
FpDbl revisited ( #144 ) - 7% perf improvement everywhere, up to 30% in double-width primitives
...
* reorg mul -> limbs_double_width, ConstantineASM CttASM
* Implement squaring specialized scalar path (22% faster than mul)
* Implement "portable" assembly for squaring
* stash part of the changes
* Reorg montgomery reduction - prepare to introduce Comba optimization
* Implement comba Montgomery reduce (but it's slower!)
* rename t -> a
* 30% performance improvement by avoiding toOpenArray!
* variable renaming
* Fix 32-bit imports
* slightly better assembly for sub2x
* There is an annoying bottleneck
* use out-of-place Fp assembly instead of in-place
* diffAlias is unneeded now
* cosmetic
* speedup fpDbl sub by 20%
* Fix Fp2 -> Fp6 -> Fp12 towering. It seems 5% faster
* Stash ADCX/ADOX squaring
2021-02-01 03:52:27 +01:00
Mamy Ratsimbazafy
b91ec1cb15
Metering ( #140 )
...
* Add metering facilities
* Metering reporting
* Add example report on metering BLS12-381 pairings
2021-01-29 22:21:19 +01:00