* include the coefficients of bls12-377 G1 and G2 isogenies for wb hash2curve
* replacing the ark-ec dependency to w3f/arkworks-algebra
* added parameters for isogenous curve to bls12-377 g1 curve for swu map
* fix dependency inconsistency problem
* implement WBParams and its isogenous curve for BLS12-377 G1
* implement the SWUParameters for isogenous curve to BLS12-377 g2 curve.
* implement WBParams for BLS12-377 G2 curve
* replacing const generic arrays with const slice in g1 and g2 iso coefficients
* - Implement WB hash to curve for BLS12-381 G1
- Improvement to WB hash to curve code for BLS12-377
- Update sage code for generating isogeny coefficients for arkworks.
* Implement WB hash to curve for BLS12-381 G2
* - fix the bug with base order for field_new for Fq2
- fix the polynomial coeffcient order for bls12-381 g1 and g2 isogenies.
- fix the polynomial coeffcient order for bls12-377 g1.
377-g2 needs to be fixed still.
* fix bls12-377 wb hash to curve isogeny coeffcients
* fixed sage code for generating the isogeny coefficients
* use patch.crates-io hack to resolve dependancy issues on w3f fork
* Rename `Parameters` to `Config` for all fields
* Rename `field_new` to `MontFp`
* Rename `field_new` to `QuadExt` and `CubicExt`
* Refactor bls12_381 crate based on update-ff branch. Close#9
* adapt bls12 wb hashing to new changes in algebra
* update bls12-381 dependancies and g1, g2 definition to pass tests
* adapt bls12-377 hash to curve to algebar updates
* depend on upstream for pull request
* cargo fmt
* - move the isogeny finder script from sage to script folder
- delete auxiliary isogeny coeff file
* add unit tests for wb hashing to bls12-377 g1 and g2
* - Use IsogenyMap struct to specify WB Isogeny for bls12-381 and bls12-377
- Do not use auxiliary constants to define generators of g2_swu_iso curve.
- Update change log
* Bump the Algebra dependencies of bls12_381 and bls12_377 to 0.4.0-alpha.4 so they could use the IsogenyMap struct.
* Add h2c tests for BLS12-381 curve
* Drop alpha sub-version in dependancies because it takes the lastest sub version
* Parameters → Config for bls12-377/381 curves
* do cargo fmt
* do SwuIsoParameters → SwuIsoConfig for bls12-377/381
* Adapt to new macro
* Fix macro invocation
should be semicolon not comma
* curves master should use algebra/r1cs default branch
* Add h2c test invocation for bls12-377 curve
no actual test vectors yet
* add faster cofactor clearing and tests for g1
* add faster cofactor clearing and tests for g2
parameters of endomorphisms are wrong for now
* add test vectors for bls12-377
* add h_eff to g2 tests for correctness
test
* improve cofactor tests g2
* add a test for psi(psi(P)) == psi2(P)
* fix bls12-377 psi & psi2 computation parameters
* rename const to DOUBLE_P_POWER_ENDOMORPHISM_COEFF_0 and make private
* fix clippy warnings in changed code
* use the same zeta as test suites
* update code comments, make methods private
* update changelog
Co-authored-by: Pratyush Mishra <pratyushmishra@berkeley.edu>
Co-authored-by: mmagician <marcin.gorny.94@protonmail.com>
* add faster cofactor clearing and tests for g1
* add faster cofactor clearing and tests for g2
parameters of endomorphisms are wrong for now
* add h_eff to g2 tests for correctness
test
* improve cofactor tests g2
* add a test for psi(psi(P)) == psi2(P)
* fix bls12-377 psi & psi2 computation parameters
* rename const to DOUBLE_P_POWER_ENDOMORPHISM_COEFF_0 and make private
* fix clippy warnings in changed code
* remove bls12-381-specific in line comment
* update code comments, make methods private
* master should be patched with master
* update changelog
* implementation of the fast subgroup check for bls12_381
* add a bench
* subgroup check for g1
* subgroup check modifications
* remove useless test
* fmt
* need the last version of arkworks/algebra
* remove Parameters0
* using projective points is more efficient
* use of projective coordinates in G2
* fmt
* documentation on the constants and the psi function
* references for algorithms of eprint 2021/1130
* fmt
* sed ^ **
* minor improvement
* fmt
* fix Cargo toml
* nits
* some cleanup for g1
* add the beta test back
* fmt
* g2
* changelog
* add a note on the Cargo.toml
* nits
* avoid variable name conflicts
* add the early-out optimization
Co-authored-by: weikeng <w.k@berkeley.edu>