Skip to content

Commit e84a161

Browse files
curiecryptiquerejeta
authored andcommitted
size_benches aggregate panicks due to not enough sigs
1 parent 84e3fed commit e84a161

File tree

1 file changed

+22
-4
lines changed

1 file changed

+22
-4
lines changed

mithril-core/benches/size_benches.rs

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,11 @@ use blake2::{
44
Blake2b, Digest,
55
};
66
use mithril::key_reg::KeyReg;
7-
use mithril::stm::{StmInitializer, StmParameters};
7+
use mithril::stm::{StmClerk, StmInitializer, StmParameters, StmSig, StmSigner};
88
use rand_chacha::ChaCha20Rng;
99
use rand_core::{RngCore, SeedableRng};
10+
use rayon::prelude::{IntoParallelIterator, IntoParallelRefIterator};
11+
use rayon::iter::ParallelIterator;
1012

1113
fn size<H>(k: u64, nparties: usize, hash_name: &str)
1214
where
@@ -41,14 +43,30 @@ where
4143

4244
let closed_reg = key_reg.close::<H>();
4345

44-
let signer = ps[0].clone().new_signer(closed_reg).unwrap();
45-
let sig = signer.sign(&msg).unwrap();
46+
47+
let ps = ps
48+
.into_par_iter()
49+
.map(|p| p.new_signer(closed_reg.clone()).unwrap())
50+
.collect::<Vec<StmSigner<H>>>();
51+
52+
let sigs = ps
53+
.par_iter()
54+
.filter_map(|p| p.sign(&msg))
55+
.collect::<Vec<StmSig<H>>>();
56+
57+
let clerk = StmClerk::from_signer(&ps[0]);
58+
59+
// Aggregate with random parties
60+
let aggr = clerk.aggregate(&sigs, &msg).unwrap();
61+
62+
let sig = sigs[0].clone();
4663

4764
println!(
48-
"k = {} | nr parties = {}; {} bytes",
65+
"k = {} | nr parties = {}; single signature {} bytes | aggregate signature {} bytes",
4966
k,
5067
nparties,
5168
sig.to_bytes().len() * k as usize,
69+
aggr.to_bytes().len() as usize,
5270
);
5371
}
5472

0 commit comments

Comments
 (0)