This crate provides an implementation of the BLS12-381 pairing-friendly elliptic curve construction with hash-to-curve and multiexponentiation methods.
- This implementation has not been reviewed or audited. Use at your own risk.
- This implementation does not require the Rust standard library.
- All operations are constant time unless explicitly noted.
bits(on by default): Enables APIs for obtaining bit iterators for scalars.groups(on by default): Enables APIs for performing group arithmetic with G1, G2, and GT.pairings(on by default): Enables APIs for performing pairings.alloc(on by default): Enables APIs that require an allocator.ark: Enables arkworks compatibility.expose-fields: Exposes field element modules.
Test for non-wasm32 targets:
cargo testTest wasm32 targets:
cargo test --target wasm32-unknown-unknownLicensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.