primitives/sharing/unauthenticated/
mod.rs

1pub 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        // Context
18        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}