shamirsecretsharing/shamirsecretsharing-rs/README.md
shamirsecretsharing-rs/README.mdRaw
1# shamirsecretsharing-rs
2Shamir's Secret Sharing in Rust
3
4
5## Usage
6```rust
7// create 6 shares from k, given the rand p
8// where to recover will be needed 3 shares
9let s = create(3, 6, &p, &k);
10
11// now set 3 of the 6 shares, to be used to recover the secret
12let mut shares_to_use: Vec<[BigInt;2]> = Vec::new();
13shares_to_use.push(s[2].clone());
14shares_to_use.push(s[1].clone());
15shares_to_use.push(s[0].clone());
16
17// recover the secret using Lagrange Interpolation
18let r = lagrange_interpolation(&p, shares_to_use);
19assert_eq!(k, r);
20// r is the secret recovered (k)
21```