Skip to content

Commit a07647a

Browse files
committed
rename: bls multi signature
1 parent b7e1440 commit a07647a

File tree

18 files changed

+171
-163
lines changed

18 files changed

+171
-163
lines changed

mithril-stm/benches/multi_sig.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use blake2::{digest::consts::U64, Blake2b, Digest};
22
use criterion::{criterion_group, criterion_main, BenchmarkId, Criterion};
3-
use mithril_stm::{Signature, SigningKey, VerificationKey};
3+
use mithril_stm::{BlsSignature, BlsSigningKey, BlsVerificationKey};
44
use rand_chacha::ChaCha20Rng;
55
use rand_core::{RngCore, SeedableRng};
66

@@ -20,21 +20,21 @@ fn batch_benches(c: &mut Criterion, array_batches: &[usize], nr_sigs: usize) {
2020
let mut mvks = Vec::new();
2121
let mut sigs = Vec::new();
2222
for _ in 0..nr_sigs {
23-
let sk = SigningKey::generate(&mut rng);
24-
let vk = VerificationKey::from(&sk);
23+
let sk = BlsSigningKey::generate(&mut rng);
24+
let vk = BlsVerificationKey::from(&sk);
2525
let sig = sk.sign(&msg);
2626
sigs.push(sig);
2727
mvks.push(vk);
2828
}
29-
let (agg_vk, agg_sig) = Signature::aggregate(&mvks, &sigs).unwrap();
29+
let (agg_vk, agg_sig) = BlsSignature::aggregate(&mvks, &sigs).unwrap();
3030
batch_msgs.push(msg.to_vec());
3131
batch_vk.push(agg_vk);
3232
batch_sig.push(agg_sig);
3333
}
3434

3535
group.bench_function(BenchmarkId::new("Batch Verification", batch_string), |b| {
3636
b.iter(|| {
37-
Signature::batch_verify_aggregates(&batch_msgs, &batch_vk, &batch_sig).is_ok()
37+
BlsSignature::batch_verify_aggregates(&batch_msgs, &batch_vk, &batch_sig).is_ok()
3838
})
3939
});
4040
}
@@ -49,8 +49,8 @@ fn aggregate_and_verify(c: &mut Criterion, nr_sigs: usize) {
4949
let mut mvks = Vec::new();
5050
let mut sigs = Vec::new();
5151
for _ in 0..nr_sigs {
52-
let sk = SigningKey::generate(&mut rng);
53-
let vk = VerificationKey::from(&sk);
52+
let sk = BlsSigningKey::generate(&mut rng);
53+
let vk = BlsVerificationKey::from(&sk);
5454
let sig = sk.sign(&msg);
5555
sigs.push(sig);
5656
mvks.push(vk);
@@ -71,7 +71,7 @@ fn aggregate_and_verify(c: &mut Criterion, nr_sigs: usize) {
7171
hasher.update(sig.to_bytes());
7272
hasher.finalize();
7373
}
74-
let (agg_vk, agg_sig) = Signature::aggregate(&mvks, &sigs).unwrap();
74+
let (agg_vk, agg_sig) = BlsSignature::aggregate(&mvks, &sigs).unwrap();
7575
assert!(agg_sig.verify(&msg, &agg_vk).is_ok())
7676
})
7777
});

mithril-stm/src/aggregate_signature/core_verifier.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use std::collections::{BTreeMap, HashMap, HashSet};
22

3-
use crate::bls_multi_signature::{Signature, VerificationKey};
3+
use crate::bls_multi_signature::{BlsSignature, BlsVerificationKey};
44
use crate::key_reg::RegisteredParty;
55
use crate::merkle_tree::MerkleTreeLeaf;
66
use crate::{
@@ -21,7 +21,7 @@ impl CoreVerifier {
2121
/// * Collect the unique signers in a hash set,
2222
/// * Calculate the total stake of the eligible signers,
2323
/// * Sort the eligible signers.
24-
pub fn setup(public_signers: &[(VerificationKey, Stake)]) -> Self {
24+
pub fn setup(public_signers: &[(BlsVerificationKey, Stake)]) -> Self {
2525
let mut total_stake: Stake = 0;
2626
let mut unique_parties = HashSet::new();
2727
for signer in public_signers.iter() {
@@ -168,15 +168,15 @@ impl CoreVerifier {
168168
/// by the aggregate verification.
169169
pub(crate) fn collect_sigs_vks(
170170
sig_reg_list: &[SingleSignatureWithRegisteredParty],
171-
) -> (Vec<Signature>, Vec<VerificationKey>) {
171+
) -> (Vec<BlsSignature>, Vec<BlsVerificationKey>) {
172172
let sigs = sig_reg_list
173173
.iter()
174174
.map(|sig_reg| sig_reg.sig.sigma)
175-
.collect::<Vec<Signature>>();
175+
.collect::<Vec<BlsSignature>>();
176176
let vks = sig_reg_list
177177
.iter()
178178
.map(|sig_reg| sig_reg.reg_party.0)
179-
.collect::<Vec<VerificationKey>>();
179+
.collect::<Vec<BlsVerificationKey>>();
180180

181181
(sigs, vks)
182182
}
@@ -205,7 +205,7 @@ impl CoreVerifier {
205205

206206
let (sigs, vks) = Self::collect_sigs_vks(&unique_sigs);
207207

208-
Signature::verify_aggregate(msg.to_vec().as_slice(), &vks, &sigs)?;
208+
BlsSignature::verify_aggregate(msg.to_vec().as_slice(), &vks, &sigs)?;
209209

210210
Ok(())
211211
}

mithril-stm/src/aggregate_signature/mod.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ mod tests {
2121
use rand_chacha::ChaCha20Rng;
2222
use rand_core::SeedableRng;
2323

24-
use crate::bls_multi_signature::VerificationKey;
24+
use crate::bls_multi_signature::BlsVerificationKey;
2525
use crate::merkle_tree::MerkleBatchPath;
2626
use crate::{
2727
AggregationError, CoreVerifier, CoreVerifierError, Initializer, KeyRegistration,
@@ -486,15 +486,15 @@ mod tests {
486486
fn setup_equal_core_parties(
487487
params: Parameters,
488488
nparties: usize,
489-
) -> (Vec<Initializer>, Vec<(VerificationKey, Stake)>) {
489+
) -> (Vec<Initializer>, Vec<(BlsVerificationKey, Stake)>) {
490490
let stake = vec![1; nparties];
491491
setup_core_parties(params, stake)
492492
}
493493

494494
fn setup_core_parties(
495495
params: Parameters,
496496
stake: Vec<Stake>,
497-
) -> (Vec<Initializer>, Vec<(VerificationKey, Stake)>) {
497+
) -> (Vec<Initializer>, Vec<(BlsVerificationKey, Stake)>) {
498498
let mut trng = TestRng::deterministic_rng(ChaCha);
499499
let mut rng = ChaCha20Rng::from_seed(trng.gen());
500500

@@ -506,7 +506,7 @@ mod tests {
506506
let public_signers = ps
507507
.iter()
508508
.map(|s| (s.pk.vk, s.stake))
509-
.collect::<Vec<(VerificationKey, Stake)>>();
509+
.collect::<Vec<(BlsVerificationKey, Stake)>>();
510510

511511
(ps, public_signers)
512512
}

mithril-stm/src/aggregate_signature/signature.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use blake2::digest::{Digest, FixedOutput};
22

33
use serde::{Deserialize, Serialize};
44

5-
use crate::bls_multi_signature::{Signature, VerificationKey};
5+
use crate::bls_multi_signature::{BlsSignature, BlsVerificationKey};
66
use crate::key_reg::RegisteredParty;
77
use crate::merkle_tree::MerkleBatchPath;
88
use crate::{
@@ -36,7 +36,7 @@ impl<D: Clone + Digest + FixedOutput + Send + Sync> StmAggrSig<D> {
3636
msg: &[u8],
3737
avk: &StmAggrVerificationKey<D>,
3838
parameters: &Parameters,
39-
) -> Result<(Vec<Signature>, Vec<VerificationKey>), StmAggregateSignatureError<D>> {
39+
) -> Result<(Vec<BlsSignature>, Vec<BlsVerificationKey>), StmAggregateSignatureError<D>> {
4040
let msgp = avk.get_mt_commitment().concat_with_msg(msg);
4141
CoreVerifier::preliminary_verify(
4242
&avk.get_total_stake(),
@@ -71,7 +71,7 @@ impl<D: Clone + Digest + FixedOutput + Send + Sync> StmAggrSig<D> {
7171
let msgp = avk.get_mt_commitment().concat_with_msg(msg);
7272
let (sigs, vks) = self.preliminary_verify(msg, avk, parameters)?;
7373

74-
Signature::verify_aggregate(msgp.as_slice(), &vks, &sigs)?;
74+
BlsSignature::verify_aggregate(msgp.as_slice(), &vks, &sigs)?;
7575
Ok(())
7676
}
7777

@@ -103,18 +103,18 @@ impl<D: Clone + Digest + FixedOutput + Send + Sync> StmAggrSig<D> {
103103
let mut aggr_vks = Vec::with_capacity(batch_size);
104104
for (idx, sig_group) in stm_signatures.iter().enumerate() {
105105
sig_group.preliminary_verify(&msgs[idx], &avks[idx], &parameters[idx])?;
106-
let grouped_sigs: Vec<Signature> = sig_group
106+
let grouped_sigs: Vec<BlsSignature> = sig_group
107107
.signatures
108108
.iter()
109109
.map(|sig_reg| sig_reg.sig.sigma)
110110
.collect();
111-
let grouped_vks: Vec<VerificationKey> = sig_group
111+
let grouped_vks: Vec<BlsVerificationKey> = sig_group
112112
.signatures
113113
.iter()
114114
.map(|sig_reg| sig_reg.reg_party.0)
115115
.collect();
116116

117-
let (aggr_vk, aggr_sig) = Signature::aggregate(&grouped_vks, &grouped_sigs).unwrap();
117+
let (aggr_vk, aggr_sig) = BlsSignature::aggregate(&grouped_vks, &grouped_sigs).unwrap();
118118
aggr_sigs.push(aggr_sig);
119119
aggr_vks.push(aggr_vk);
120120
}
@@ -125,7 +125,7 @@ impl<D: Clone + Digest + FixedOutput + Send + Sync> StmAggrSig<D> {
125125
.map(|(msg, avk)| avk.get_mt_commitment().concat_with_msg(msg))
126126
.collect();
127127

128-
Signature::batch_verify_aggregates(&concat_msgs, &aggr_vks, &aggr_sigs)?;
128+
BlsSignature::batch_verify_aggregates(&concat_msgs, &aggr_vks, &aggr_sigs)?;
129129
Ok(())
130130
}
131131

mithril-stm/src/bls_multi_signature/helper.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ pub(crate) mod unsafe_helpers {
77
min_sig::{PublicKey as BlstVk, SecretKey as BlstSk, Signature as BlstSig},
88
};
99

10-
use crate::bls_multi_signature::{ProofOfPossession, VerificationKey};
10+
use crate::bls_multi_signature::{BlsProofOfPossession, BlsVerificationKey};
1111
use crate::error::{MultiSignatureError, MultiSignatureError::SerializationError};
1212

1313
/// Check manually if the pairing `e(g1,mvk) = e(k2,g2)` holds.
14-
pub(crate) fn verify_pairing(vk: &VerificationKey, pop: &ProofOfPossession) -> bool {
14+
pub(crate) fn verify_pairing(vk: &BlsVerificationKey, pop: &BlsProofOfPossession) -> bool {
1515
unsafe {
1616
let g1_p = *blst_p1_affine_generator();
1717
let mvk_p = std::mem::transmute::<BlstVk, blst_p2_affine>(vk.to_blst_vk());
@@ -55,7 +55,7 @@ pub(crate) mod unsafe_helpers {
5555
}
5656
}
5757

58-
pub(crate) fn vk_from_p2_affine(vk: &VerificationKey) -> blst_p2 {
58+
pub(crate) fn vk_from_p2_affine(vk: &BlsVerificationKey) -> blst_p2 {
5959
unsafe {
6060
let mut projective_p2 = blst_p2::default();
6161
blst_p2_from_affine(

0 commit comments

Comments
 (0)