rabe-bn

Crates.iorabe-bn
lib.rsrabe-bn
version0.4.23
sourcesrc
created_at2020-08-06 14:35:41.542974
updated_at2024-05-22 14:05:56.060501
descriptionPairing cryptography with the Barreto-Naehrig curve. Update to use latest rand and serde crates.
homepagehttps://github.com/georgbramm/rabe-bn
repositoryhttps://github.com/georgbramm/rabe-bn
max_upload_size
id273678
size198,151
Georg Bramm (georgbramm)

documentation

https://docs.rs/rabe-bn

README

bn Crates.io

This is a pairing cryptography library written in pure Rust. It makes use of the Barreto-Naehrig (BN) curve construction from [BCTV2015] to provide two cyclic groups G1 and G2, with an efficient bilinear pairing:

e: G1 × G2 → GT

Security warnings

This library, like other pairing cryptography libraries implementing this construction, is not resistant to side-channel attacks.

Usage

Add the bn crate to your dependencies in Cargo.toml...

[dependencies]
rabe-bn = "0.4.22"

If you prefer borsh instead of serde, you may use the borsh feature. Afterwards add an extern crate declaration to your crate root:

extern crate rabe_bn;

API

  • Fr is an element of Fr
  • G1 is a point on the BN curve E/Fq : y^2 = x^3 + b
  • G2 is a point on the twisted BN curve E'/Fq2 : y^2 = x^3 + b/xi
  • Gt is a group element (written multiplicatively) obtained with the pairing function over G1 and G2.

License

Licensed under either of

at your option.

Copyright 2016 Zcash Electric Coin Company. The Zcash Company promises to maintain the "bn" crate on crates.io under this MIT/Apache-2.0 dual license.

Authors

Contribution

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.

Commit count: 114

cargo fmt