Files
shamirsecretsharing/shamirsecretsharing-rs
kr0 a430ae3d04 Implement Benchmarks for modular inverse impl
- Added `Criterion` on dev-dependencies and a
benches config section on Cargo.toml

- Added `benchmarks` folder with `benches.rs` file.

This file contains the benchmarks implementation of
the two distinct modular_inverse implementations.

Results:
```
Modular Inverse/Kalinski Modular inverse
                        time:   [50.105 us 50.438 us 50.819 us]
                        change: [-44.740% -44.195% -43.664%] (p = 0.00 < 0.05)
                        Performance has improved.

Modular Inverse/Standard Mod Inv
                        time:   [82.301 us 82.430 us 82.580 us]
```

To run the benchmarks just run: `cargo bench`.
2019-07-19 11:06:38 +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)