2613356281
* Add MultiScalar recoding from "Efficient and Secure Algorithms for GLV-Based Scalar Multiplication" by Faz et al * precompute cube root of unity - Add VM precomputation of Fp - workaround upstream bug https://github.com/nim-lang/Nim/issues/14585 * Add the φ-accelerated lookup table builder * Add a dedicated bithacks file * cosmetic import consistency * Build the φ precompute table with n-1 EC additions instead of 2^(n-1) additions * remove binary * Add the GLV precomputations to the sage scripts * You can't avoid it, bigint multiplication is needed at one point * Add bigint multiplication discarding some low words * Implement the lattice decomposition in sage * Proper decomposition for BN254 * Prepare the code for a new scalar mul * We compile, and now debugging hunt * More helpers to debug GLV scalar Mul * Fix conditional negation * Endomorphism accelerated scalar mul working for BN254 curve * Implement endomorphism acceleration for BLS12-381 (needed cofactor clearing of the point) * fix nimble test script after bench rename |
||
---|---|---|
.. | ||
README.md | ||
curve_family_bls12.sage | ||
curve_family_bn.sage | ||
lattice_decomposition_bls12_381_g1.sage | ||
lattice_decomposition_bn254_snarks_g1.sage | ||
non_residues.sage | ||
testgen_bls12_381.sage | ||
testgen_bn254_snarks.sage |
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.