#sign #bls #digital-signature #bls-signatures #cpu #bls12-381 #dusk #lscpu

dusk-bls12_381-sign

Implementation of BLS signatures using the BLS12-381 curve

9 releases

Uses new Rust 2021

0.4.1 Oct 19, 2022
0.4.0 Aug 17, 2022
0.3.0-rc.0 Feb 25, 2022
0.1.0-rc.3 Jan 25, 2022

#519 in Cryptography

Download history 65/week @ 2022-08-02 63/week @ 2022-08-09 96/week @ 2022-08-16 66/week @ 2022-08-23 30/week @ 2022-08-30 55/week @ 2022-09-06 90/week @ 2022-09-13 118/week @ 2022-09-20 64/week @ 2022-09-27 57/week @ 2022-10-04 22/week @ 2022-10-11 62/week @ 2022-10-18 53/week @ 2022-10-25 28/week @ 2022-11-01 36/week @ 2022-11-08 79/week @ 2022-11-15

197 downloads per month
Used in 3 crates

MPL-2.0 license

23KB
443 lines

Implementation of BLS signatures using the BLS12-381 curve.

This implementation currently only supports rogue-key attack resistant batching, and does not support distinct message verification.

Benchmarks

Machine specs

The benchmarks were ran on a 2020 13.3" MacBook Pro.

CPU:

$ lscpu
Intel(R) Core(TM) i7-1068NG7 CPU @ 2.30GHz

RAM:

16 GB 3733 MHz LPDDR4X

Results

test benches::bench_aggregate_pk    ... bench:   1,654,552 ns/iter (+/- 107,025)
test benches::bench_aggregate_sig   ... bench:      36,893 ns/iter (+/- 3,399)
test benches::bench_sign            ... bench:   1,480,169 ns/iter (+/- 106,151)
test benches::bench_sign_vulnerable ... bench:   1,024,052 ns/iter (+/- 111,395)
test benches::bench_verify          ... bench:   4,740,114 ns/iter (+/- 336,036)

lib.rs:

Implementation of BLS signatures on the BLS12-381 curve. Reference paper: https://crypto.stanford.edu/~dabo/pubs/papers/BLSmultisig.html

Dependencies

~1–6.5MB
~112K SLoC