#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

#2418 in Cryptography

Download history 80/week @ 2024-11-16 105/week @ 2024-11-23 71/week @ 2024-11-30 85/week @ 2024-12-07 95/week @ 2024-12-14 28/week @ 2024-12-21 20/week @ 2024-12-28 99/week @ 2025-01-04 131/week @ 2025-01-11 94/week @ 2025-01-18 120/week @ 2025-01-25 68/week @ 2025-02-01 87/week @ 2025-02-08 131/week @ 2025-02-15 99/week @ 2025-02-22 81/week @ 2025-03-01

406 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.4–2MB
~36K SLoC