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