#shamir-secret-sharing #secret-sharing #pure

shamir

Shamir is a pure Rust implementation of Shamir's secret sharing

4 stable releases

Uses old Rust 2015

2.0.0 Jan 21, 2020
1.0.2 Jan 24, 2016

#2101 in Cryptography

Download history 51/week @ 2024-04-08 30/week @ 2024-04-15 29/week @ 2024-04-22 42/week @ 2024-04-29 45/week @ 2024-05-06 48/week @ 2024-05-13 54/week @ 2024-05-20 131/week @ 2024-05-27 116/week @ 2024-06-03 35/week @ 2024-06-10 82/week @ 2024-06-17 39/week @ 2024-06-24 216/week @ 2024-07-01 38/week @ 2024-07-08 53/week @ 2024-07-15 53/week @ 2024-07-22

364 downloads per month

MIT license

16KB
303 lines

Shamir

Coverage Status

Build Status

Shamir is a pure Rust implementation of Shamir's secret sharing.

Install

To install shamir into your application, you need to add it to your cargo.toml:

[dependencies]
shamir = "~1.0"

and you need to include it at the top of oyur main.rs:

extern crate shamir;

use shamir::SecretData;

Usage

extern crate shamir;

use shamir::SecretData;

fn main() {
    let secret_data = SecretData::with_secret("Hello World!", 3);

    let share1 = secret_data.get_share(1);
    let share2 = secret_data.get_share(2);
    let share3 = secret_data.get_share(3);

    let recovered = SecretData::recover_secret(3, vec![share1, share2, share3]).unwrap();

    println!("Recovered {}", recovered);
}

Dependencies

~1.5–2.1MB
~38K SLoC