commonware_cryptography

Module bls12381

Source
Expand description

Distributed Key Generation (DKG), Resharing, Signatures, and Threshold Signatures over the BLS12-381 curve.

§Features

This crate has the following features:

§Benchmarks

The following benchmarks were collected on 8/23/24 on a MacBook Pro (M3 Pro, Nov 2023).

cargo bench

§DKG Recovery (Contributor)

conc=1 n=5 t=3          time:   [7.8876 µs 8.0956 µs 8.4308 µs]
conc=1 n=10 t=7         time:   [33.342 µs 33.436 µs 33.554 µs]
conc=1 n=20 t=13        time:   [121.14 µs 123.02 µs 125.79 µs]
conc=1 n=50 t=33        time:   [753.15 µs 761.27 µs 773.15 µs]
conc=1 n=100 t=67       time:   [3.0440 ms 3.5310 ms 4.3212 ms]
conc=1 n=250 t=167      time:   [19.164 ms 19.226 ms 19.295 ms]
conc=1 n=500 t=333      time:   [79.523 ms 80.812 ms 82.645 ms]

§Reshare Recovery (Contributor)

conc=1 n=5 t=3          time:   [241.59 µs 253.86 µs 263.90 µs]
conc=2 n=5 t=3          time:   [175.10 µs 178.24 µs 184.16 µs]
conc=4 n=5 t=3          time:   [134.88 µs 144.18 µs 151.21 µs]
conc=8 n=5 t=3          time:   [174.37 µs 184.76 µs 192.81 µs]
conc=1 n=10 t=7         time:   [1.4708 ms 1.5347 ms 1.6063 ms]
conc=2 n=10 t=7         time:   [827.54 µs 908.99 µs 986.19 µs]
conc=4 n=10 t=7         time:   [484.35 µs 504.77 µs 535.10 µs]
conc=8 n=10 t=7         time:   [508.29 µs 606.27 µs 699.82 µs]
conc=1 n=20 t=13        time:   [5.0725 ms 5.0793 ms 5.0857 ms]
conc=2 n=20 t=13        time:   [2.8032 ms 2.8116 ms 2.8222 ms]
conc=4 n=20 t=13        time:   [1.6856 ms 1.6892 ms 1.6938 ms]
conc=8 n=20 t=13        time:   [1.0313 ms 1.1604 ms 1.2300 ms]
conc=1 n=50 t=33        time:   [37.000 ms 37.248 ms 37.937 ms]
conc=2 n=50 t=33        time:   [19.346 ms 19.642 ms 20.312 ms]
conc=4 n=50 t=33        time:   [10.533 ms 10.567 ms 10.614 ms]
conc=8 n=50 t=33        time:   [6.3829 ms 6.4347 ms 6.4721 ms]
conc=1 n=100 t=67       time:   [174.30 ms 175.16 ms 176.05 ms]
conc=2 n=100 t=67       time:   [89.835 ms 90.204 ms 90.599 ms]
conc=4 n=100 t=67       time:   [46.736 ms 47.123 ms 47.531 ms]
conc=8 n=100 t=67       time:   [29.193 ms 29.519 ms 29.870 ms]
conc=1 n=250 t=167      time:   [1.4814 s 1.4927 s 1.5062 s]
conc=2 n=250 t=167      time:   [751.83 ms 762.08 ms 780.29 ms]
conc=4 n=250 t=167      time:   [394.18 ms 397.18 ms 400.52 ms]
conc=8 n=250 t=167      time:   [239.81 ms 245.78 ms 252.11 ms]
conc=1 n=500 t=333      time:   [6.9914 s 7.0182 s 7.0452 s]
conc=2 n=500 t=333      time:   [3.5483 s 3.5575 s 3.5670 s]
conc=4 n=500 t=333      time:   [1.8668 s 1.8851 s 1.9025 s]
conc=8 n=500 t=333      time:   [1.1176 s 1.1355 s 1.1539 s]

§Signature Generation

ns_len=9 msg_len=5      time:   [232.12 µs 233.63 µs 235.42 µs]

§Signature Aggregation

n=5 t=3                 time:   [126.85 µs 128.50 µs 130.67 µs]
n=10 t=7                time:   [378.70 µs 386.74 µs 397.13 µs]
n=20 t=13               time:   [764.59 µs 777.71 µs 796.76 µs]
n=50 t=33               time:   [2.1320 ms 2.1399 ms 2.1547 ms]
n=100 t=67              time:   [5.0113 ms 5.0155 ms 5.0203 ms]
n=250 t=167             time:   [16.922 ms 16.929 ms 16.937 ms]
n=500 t=333             time:   [37.642 ms 37.676 ms 37.729 ms]

§Signature Verification

ns_len=9 msg_len=5      time:   [980.92 µs 981.37 µs 981.88 µs]

Modules§

  • Distributed Key Generation (DKG) and Resharing protocol for the BLS12-381 curve.
  • Operations over the BLS12-381 scalar field.

Structs§

  • BLS12-381 implementation of the Scheme trait.