e5612f5705
* unoptimized msm * MSM: reorder loops * add a signed windowed recoding technique * improve wNAF table access * use batchAffine * revamp EC tests * MSM signed digit support * refactor MSM: recode signed ahead of time * missing test vector * refactor allocs and Alloca sideeffect * add an endomorphism threshold * Add Jacobian extended coordinates * refactor recodings, prepare for parallelizable on-the-fly signed recoding * recoding changes, introduce proper NAF for pairings * more pairings refactoring, introduce miller accumulator for EVM * some optim to the addchain miller loop * start optimizing multi-pairing * finish multi-miller loop refactoring * minor tuning * MSM: signed encoding suitable for parallelism (no precompute) * cleanup signed window encoding * add prefetching * add metering * properly init result to infinity * comment on prefetching * introduce vartime inversion for batch additions * fix JacExt infinity conversion * add batchAffine for MSM, though slower than JacExtended at the moment * add a batch affine scheduler for MSM * Add Multi-Scalar-Multiplication endomorphism acceleration * some tuning * signed integer fixes + 32-bit + tuning * Some more tuning * common msm bench + don't use affine for c < 9 * nit |
||
---|---|---|
.. | ||
README.md | ||
curves.sage | ||
derive_endomorphisms.sage | ||
derive_frobenius.sage | ||
derive_hash_to_curve.sage | ||
derive_pairing.sage | ||
derive_square_root.sage | ||
g2_params.sage | ||
square_root_bls12_377.sage | ||
testgen_scalar_mul.sage |
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.