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
| Feature | Default | Description |
|---|---|---|
groups | yes | Group arithmetic |
pairings | yes | Pairing operations |
alloc | yes | Heap allocation support |
bits | yes | Bit manipulation |
experimental | no | Experimental features |
nightly | no | Nightly-only optimizations |
zeroize | no | Secure memory zeroing |
Development
Building
bash
cargo build --all-featuresTesting
bash
cargo testDoc Link Verification
bash
cargo doc --document-private-itemsBuild Checks
bash
cargo build --benches --examples # verify benchmarks and examples compileReleasing
See RELEASES.md in the repository for the full release history and changelog.
CI/CD
| Workflow | Trigger | What it does |
|---|---|---|
ci.yml | Push/PR | Tests, no_std target checks, doc link verification |
lints-stable.yml | Push/PR | Clippy and rustfmt on stable |
lints-beta.yml | Push/PR | Clippy on beta |