SecretStore: threshold decrease PoC (#7562)
This commit is contained in:
parent
594716dc1e
commit
04b571b742
@ -727,4 +727,28 @@ pub mod tests {
|
||||
assert_eq!(joint_secret1, joint_secret3);
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn full_generation_math_session_with_decreasing_threshold() {
|
||||
let (t, n) = (3, 5);
|
||||
|
||||
// generate key using t-of-n session
|
||||
let artifacts1 = run_key_generation(t, n, None);
|
||||
let joint_secret1 = compute_joint_secret(artifacts1.polynoms1.iter().map(|p1| &p1[0])).unwrap();
|
||||
|
||||
// let's say we want to decrease threshold so that it becames (t-1)-of-n
|
||||
let new_t = t - 1;
|
||||
let artifacts2 = run_key_share_refreshing(t, new_t, n, &artifacts1);
|
||||
let joint_secret2 = compute_joint_secret_from_shares(new_t, &artifacts2.secret_shares.iter().take(new_t + 1).collect::<Vec<_>>(),
|
||||
&artifacts2.id_numbers.iter().take(new_t + 1).collect::<Vec<_>>()).unwrap();
|
||||
assert_eq!(joint_secret1, joint_secret2);
|
||||
|
||||
// let's say we want to decrease threshold once again so that it becames (t-2)-of-n
|
||||
let t = t - 1;
|
||||
let new_t = t - 2;
|
||||
let artifacts3 = run_key_share_refreshing(t, new_t, n, &artifacts2);
|
||||
let joint_secret3 = compute_joint_secret_from_shares(new_t, &artifacts3.secret_shares.iter().take(new_t + 1).collect::<Vec<_>>(),
|
||||
&artifacts3.id_numbers.iter().take(new_t + 1).collect::<Vec<_>>()).unwrap();
|
||||
assert_eq!(joint_secret1, joint_secret3);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user