#curve #64-bit #bls12-381 #miracl #bn254 #ed25519 #generate

no-std bin+lib miracl_core

Rust code for 64 bit generated from https://github.com/miracl/core

9 stable releases

2.7.0 Aug 29, 2021
2.6.0 Jul 5, 2021
2.4.0 Jun 1, 2021
2.3.0 Sep 27, 2020
1.0.0 May 17, 2020

#3 in #miracl

Download history 123/week @ 2024-01-01 652/week @ 2024-01-08 543/week @ 2024-01-15 554/week @ 2024-01-22 420/week @ 2024-01-29 451/week @ 2024-02-05 378/week @ 2024-02-12 242/week @ 2024-02-19 163/week @ 2024-02-26 164/week @ 2024-03-04 328/week @ 2024-03-11 429/week @ 2024-03-18 167/week @ 2024-03-25 238/week @ 2024-04-01 260/week @ 2024-04-08 262/week @ 2024-04-15

952 downloads per month
Used in 5 crates (2 directly)

Apache-2.0

7.5MB
219K SLoC

Used for generating Rust crate from miracl's core library library. Any curve can be selected by compiling with that feature. eg. to build library for curves ed25519, bls12461 and bn254, use (from rust_64 directory)

cargo build --features "ed25519 bls12461 bn254"

The default feature is curve bls12381 only.

Updates from upstream

To fetch updates from upstream (miracl/core) and build crate (for 64-bit only), use

python gen_rust_64.py

This will pull upstream changes in miracl_core directory and build the crate in rust_64 directory. The crate name is miracl_core.

When new curves are added in upstream, add the number(s) corresponding to the curve (most likely 1 more than the max number) in file curve_nos.txt and the corresponding curves should be added as features in Cargo.toml and lib.rs of crate in rust_64. This is tedious but it avoidance needs some refactoring in miracl/core's rust/config64.py file.

Increase version before publishing rust_64 to crates.io.

No runtime deps

Features