Skip to content

pg-curve

GitHub · Rust · Cryptographic Library

Fork of the BLS12-381 pairing-friendly elliptic curve crate with target group serialization support. This crate exists because the upstream maintainers chose not to merge the proposed serialization standard (PR #12). It stays up to date with upstream, with the gt-serialisation branch merged in.

Published on crates.io. API documentation is on docs.rs/pg-curve.

Used by ibe as the underlying elliptic curve implementation.

Cargo Features

FeatureDefaultDescription
groupsyesGroup arithmetic
pairingsyesPairing operations
allocyesHeap allocation support
bitsyesBit manipulation
experimentalnoExperimental features
nightlynoNightly-only optimizations
zeroizenoSecure memory zeroing

Development

Building

bash
cargo build --all-features

Testing

bash
cargo test
bash
cargo doc --document-private-items

Build Checks

bash
cargo build --benches --examples   # verify benchmarks and examples compile

Releasing

See RELEASES.md in the repository for the full release history and changelog.

CI/CD

WorkflowTriggerWhat it does
ci.ymlPush/PRTests, no_std target checks, doc link verification
lints-stable.ymlPush/PRClippy and rustfmt on stable
lints-beta.ymlPush/PRClippy on beta