primitives/sharing/unauthenticated/
mod.rs1pub mod additive_shares;
2
3pub use additive_shares::AdditiveShares;
4
5#[cfg(test)]
6mod tests {
7 use crate::{
8 algebra::elliptic_curve::{Curve, Curve25519Ristretto},
9 random::{self, Random},
10 sharing::unauthenticated::AdditiveShares,
11 types::heap_array::SubfieldElements,
12 };
13
14 #[test]
15 fn test_subfield_additive_shares() {
16 type C = Curve25519Ristretto;
18 type F = <C as Curve>::Scalar;
19 type M = typenum::U1;
20 let n_parties = 3;
21 let mut rng = random::test_rng();
22
23 let secret = SubfieldElements::<F, M>::random(&mut rng);
24 let shares = secret.to_additive_shares(n_parties, &mut rng);
25 let reconstructed = SubfieldElements::<F, M>::from_additive_shares(&shares);
26
27 assert_eq!(secret, reconstructed);
28 }
29}