BLS Core Crypto attempt #2 (#13618)
* Cherry pick all crypto related changes from pull-request #13311 applied to master's head * Import some stuff just if 'full_crypto' is on * Remove copyright year * Cleanup * First generic BLS draft * Finalize generic implementation * Restore tests * Fix rust docs * Fix after master merge * Fix after master merge * Use double bls with G1 as signature group and verify individual signatures using DLEQ proof. * Fix inclusions and types used within substrate * Remove unused cruft * Restore usage of upstream crates * Fix test * Reduce the diff by aligning Cargo.lock to master * Application-crypto provides bls381 * Implement bls381 for local keystore * Use new generic keystore features * import DoublePublickey[Scheme] from the bls-like root to be less confusing. * fix compilation * Apply suggestions from code review Co-authored-by:Robert Hambrock <roberthambrock@gmail.com> * Clean leftovers * - update bls test vector after applying spec change recommendation. - send message as ref. * Different hard junction ids for different bls12 types * update to new bls-like * bls-like → w3f-bls * Make clippy happy * update test vector after replacing hash and crop with hash to field. * cargo fmt * account for #13972 * hide BLS behind "bls_non_production" feature flag * Remove Cargo.lock entries duplicated in merge * add bls377 to primitives/keystore and client/keystore add bls377 to primitives/application-crypto/ add bls_non_production to primitives/keystore and client/keystore bump up w3f-bls version * rename feature `bls_non_production` to `bls-experimental` --------- Co-authored-by:
Davide Galassi <davxy@datawok.net> Co-authored-by:
André Silva <andrerfosilva@gmail.com> Co-authored-by:
Robert Hambrock <roberthambrock@gmail.com>
Showing
- substrate/Cargo.lock 772 additions, 608 deletionssubstrate/Cargo.lock
- substrate/client/keystore/Cargo.toml 8 additions, 1 deletionsubstrate/client/keystore/Cargo.toml
- substrate/client/keystore/src/local.rs 59 additions, 3 deletionssubstrate/client/keystore/src/local.rs
- substrate/primitives/application-crypto/src/bls377.rs 28 additions, 0 deletionssubstrate/primitives/application-crypto/src/bls377.rs
- substrate/primitives/application-crypto/src/bls381.rs 28 additions, 0 deletionssubstrate/primitives/application-crypto/src/bls381.rs
- substrate/primitives/application-crypto/src/lib.rs 4 additions, 0 deletionssubstrate/primitives/application-crypto/src/lib.rs
- substrate/primitives/core/Cargo.toml 7 additions, 0 deletionssubstrate/primitives/core/Cargo.toml
- substrate/primitives/core/src/bls.rs 675 additions, 0 deletionssubstrate/primitives/core/src/bls.rs
- substrate/primitives/core/src/hexdisplay.rs 1 addition, 1 deletionsubstrate/primitives/core/src/hexdisplay.rs
- substrate/primitives/core/src/lib.rs 5 additions, 0 deletionssubstrate/primitives/core/src/lib.rs
- substrate/primitives/core/src/testing.rs 4 additions, 0 deletionssubstrate/primitives/core/src/testing.rs
- substrate/primitives/keystore/Cargo.toml 4 additions, 0 deletionssubstrate/primitives/keystore/Cargo.toml
- substrate/primitives/keystore/src/lib.rs 85 additions, 1 deletionsubstrate/primitives/keystore/src/lib.rs
- substrate/primitives/keystore/src/testing.rs 50 additions, 0 deletionssubstrate/primitives/keystore/src/testing.rs
Please register or sign in to comment