4 releases

0.1.2 Sep 6, 2019
0.1.1 Sep 3, 2019
0.1.0 Sep 3, 2019
0.0.0 Aug 28, 2019

#23 in #shamir-secret-sharing

MIT license

16KB
350 lines

Sharing

Secret Sharing and Inforamtion Disporsal Sharing

Use for example the Shamir implementation

Example

use sharing::{ShamirSecretSharing, Sharing};

let data = [1, 2, 3, 4, 5].to_vec();

let sharer = ShamirSecretSharing::new(5, 3, rand::thread_rng());

let shares = sharer.share(data.clone()).unwrap();
// You only need 3 out of the 5 shares to reconstruct
let rec = sharer.recontruct(shares[1..=3].to_vec()).unwrap();

assert_eq!(data, rec);

lib.rs:

Sharing

Use for example the Shamir implementation

use sharing::{ShamirSecretSharing, Sharing};

let data = [1, 2, 3, 4, 5].to_vec();

let sharer = ShamirSecretSharing::new(5, 3, rand::thread_rng());

let shares = sharer.share(data.clone()).unwrap();
// You only need 3 out of the 5 shares to reconstruct
let rec = sharer.recontruct(shares[1..=3].to_vec()).unwrap();

assert_eq!(data, rec);

Dependencies

~1.4–2.1MB
~38K SLoC