constantine/sage
Mamy Ratsimbazafy 1195e5e980
Eth1 evm precompiles (#166)
* Prepare support for Eth1 EVM

* Implement EIP 196 (Ethereum BN254 add/mul)

* Implement ETH1 pairing precompile

* Accelerate isOnCurve for G2 with precomputation
2021-12-15 00:02:11 +01:00
..
README.md Sage constants & tests codegen (#101) 2020-10-10 16:19:23 +02:00
curves.sage Implement BW6-761 Endomorphism acceleration (#104) 2020-10-13 23:58:35 +02:00
derive_endomorphisms.sage Fr: Finite Field parametrized by the curve order (#115) 2021-01-22 00:09:52 +01:00
derive_frobenius.sage Fr: Finite Field parametrized by the curve order (#115) 2021-01-22 00:09:52 +01:00
derive_hash_to_curve.sage hash-to-curve BLS12-381 perf (#163) 2021-08-14 21:01:50 +02:00
derive_pairing.sage Fix cofactor in BW6-761 naive final exp (but still buggy - see #152) 2021-02-07 10:24:52 +01:00
derive_square_root.sage Hash to curve - BLS12-381 (#110) 2021-08-13 22:07:26 +02:00
precompute_params.sage Eth1 evm precompiles (#166) 2021-12-15 00:02:11 +01:00
square_root_bls12_377.sage BLS12-377 (#91) 2020-09-27 09:15:14 +02:00
testgen_scalar_mul.sage Implement BW6-761 Endomorphism acceleration (#104) 2020-10-13 23:58:35 +02:00

README.md

Sage scripts

This folder holds sage scripts:

  • for automating curve configuration
    • Cofactor determination
    • Frobenius precomputations
    • Scalar docomposition for endomorphism acceleration
    • Pairing parameters for naive implementation (ate and final exponent)
    • Square-root parameters for naive implementation.
  • for test vectors against a reference implementation.