Files
shamirsecretsharing/shamirsecretsharing-rs
kr0 70d54af4f1 Use Lsh impl of BigInt.
Bitshift to the left instead of multiply by 2
since performs ffaster than mul.
2019-07-19 10:06:25 +02:00
..
2019-07-19 10:06:25 +02:00

shamirsecretsharing-rs

Shamir's Secret Sharing in Rust

Usage

// create 6 shares from k, given the rand p
// where to recover will be needed 3 shares
let s = create(3, 6, &p, &k);

// now set 3 of the 6 shares, to be used to recover the secret
let mut shares_to_use: Vec<[BigInt;2]> = Vec::new();
shares_to_use.push(s[2].clone());
shares_to_use.push(s[1].clone());
shares_to_use.push(s[0].clone());

// recover the secret using Lagrange Interpolation
let r = lagrange_interpolation(&p, shares_to_use);
assert_eq!(k, r);
// r is the secret recovered (k)