arnaucube
arnaucube/shamirsecretsharingPublic Self-hosted repository
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```