libss
libss is a Rust library for secret sharing.
**WARNING:** This implementation has not received any audit and is NOT ready for production use.
## Overview
libss provides an impelmentation of shamir secret sharing over the field GF(2**8), supporting arbitrary size secrets with up to 255 shares.
## Directory structure
* [`src/gf256.rs`](src/gf256.rs): Rust module that provides an implementation of the finite field GF(2**8)
* [`src/shamir.rs`](src/shamir.rs): Rust module that impelments shamir secret sharing over GF256
This library comes with unit tests for each of the provided crates. Run the tests with:
```bash
cargo test
```
To perform the benchmarks, run the following command:
```bash
cargo bench
```
## Future Goals
- improve interpolation algorithm
- wrap Share struct into a SignedShare struct so integrity of shares can be verified with a public key
- implement [Feldman Secret Sharing Scheme]("https://en.wikipedia.org/wiki/Verifiable_secret_sharing#Feldman%E2%80%99s_scheme"), a verifiable secret sharing scheme
- guarantee constant-time cryptographic operations