#bls-signatures #bls12-381 #curve #attack #verification #message

dusk-bls12_381-sign

Implementation of BLS signatures using the BLS12-381 curve

12 unstable releases (4 breaking)

0.6.0 Dec 13, 2023
0.5.1-rc.0 Nov 28, 2023
0.5.0 Oct 12, 2023
0.4.1 Oct 19, 2022
0.1.0-rc.3 Jan 25, 2022

#1024 in Cryptography

Download history 51/week @ 2023-12-15 18/week @ 2023-12-22 20/week @ 2023-12-29 16/week @ 2024-01-05 45/week @ 2024-01-12 26/week @ 2024-01-19 73/week @ 2024-01-26 160/week @ 2024-02-02 211/week @ 2024-02-09 457/week @ 2024-02-16 333/week @ 2024-02-23 109/week @ 2024-03-01 55/week @ 2024-03-08 38/week @ 2024-03-15 55/week @ 2024-03-22 219/week @ 2024-03-29

373 downloads per month
Used in 6 crates (5 directly)

MPL-2.0 license

25KB
457 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

~2.3–3.5MB
~80K SLoC