constantine/sage
Mamy Ratsimbazafy d84edcd217
Naive pairings + Naive cofactor clearing (#82)
* Pairing - initial commit
- line functions
- sparse Fp12 functions

* Small fixes:
- Line parametrized by twist for generic algorithm
- Add a conjugate operator for quadratic extensions
- Have frobenius use it
- Create an Affine coordinate type for elliptic curve

* Implement (failing) pairing test

* Stash pairing debug session, temp switch Fp12 over Fp4

* Proper naive pairing on BLS12-381

* Frobenius map

* Implement naive pairing for BN curves

* Add pairing tests to CI + reduce time spent on lower-level tests

* Test without assembler in Github Actions + less base layers test iterations
2020-09-21 23:24:00 +02:00
..
README.md Add sage script for BN and BLS12 curve families 2020-03-21 15:50:39 +01:00
curve_family_bls12.sage Frobenius endomorphism ψ = φ−1 πp φ (psi = untwist-Frobenius-Twist) (#78) 2020-08-31 23:18:48 +02:00
curve_family_bn.sage Frobenius endomorphism ψ = φ−1 πp φ (psi = untwist-Frobenius-Twist) (#78) 2020-08-31 23:18:48 +02:00
frobenius_bls12_377.sage Frobenius endomorphism ψ = φ−1 πp φ (psi = untwist-Frobenius-Twist) (#78) 2020-08-31 23:18:48 +02:00
frobenius_bls12_381.sage Naive pairings + Naive cofactor clearing (#82) 2020-09-21 23:24:00 +02:00
frobenius_bn254_nogami.sage Naive pairings + Naive cofactor clearing (#82) 2020-09-21 23:24:00 +02:00
frobenius_bn254_snarks.sage Naive pairings + Naive cofactor clearing (#82) 2020-09-21 23:24:00 +02:00
lattice_decomposition_bls12_381_g1.sage Endomorphism G2 (#79) 2020-09-03 23:10:48 +02:00
lattice_decomposition_bls12_381_g2.sage Endomorphism G2 (#79) 2020-09-03 23:10:48 +02:00
lattice_decomposition_bn254_snarks_g1.sage Endomorphism G2 (#79) 2020-09-03 23:10:48 +02:00
lattice_decomposition_bn254_snarks_g2.sage Endomorphism G2 (#79) 2020-09-03 23:10:48 +02:00
non_residues.sage Properly distinguish between Nogami and Snark/Ethereum BN254 closes #19 2020-04-12 03:01:50 +02:00
testgen_bls12_381.sage Endomorphism G2 (#79) 2020-09-03 23:10:48 +02:00
testgen_bn254_snarks.sage Endomorphism G2 (#79) 2020-09-03 23:10:48 +02:00

README.md

Sage scripts

This folder holds sage scripts:

  • either for automating curve configuration for example for computing the prime and order of BN or BLS curve families, for irreducible polynomials for extension fields.
  • for test vectors against a reference implementation.