#finite-fields #elliptic-curve #scalar-field

no-std bandersnatch

Bandersnatch: a curve defined over the scalar field of the BLS12-381 curve

2 releases

0.1.1 Jul 29, 2021
0.1.0 Jul 28, 2021

#2421 in Cryptography

32 downloads per month

MIT/Apache

61KB
1.5K SLoC

bandersnatch-rust

GitHub branch checks state docs.rs Crates.io (version) GitHub

This is a reference implementation of Bandersnatch curve using Arkwork's framework in Rust. The spec of the curve is available here. There was also a Python reference implementation here.

Logistics

  • This code is released under MIT license.
  • This code is not audited and may contain severe security flaws. Use at your own risk.
  • Version 0.1.1.
  • This repo is upstreamed to Arkworks curve crate.

Change log

0.1.1: use a zcash style generator 0.1.0: release

Howto

API docs

cargo doc --open

Benchmarks

cargo bench

Examples

Counting the number of constraints in group operations

cargo run --example constraint_count_bandersnatch
cargo run --example constraint_count_jubjub
cargo run --example constraint_count_bandersnatch_glv

Dependencies

~6MB
~116K SLoC