blob: 5ca69f9c7b822a6daa41819417209277afb49dbc [file] [log] [blame]
// Copyright (c) 2016 rust-threshold-secret-sharing developers
//
// Licensed under the Apache License, Version 2.0
// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT
// license <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. All files in the project carrying such notice may not be copied,
// modified, or distributed except according to those terms.
//! # Threshold Secret Sharing
//! Pure-Rust library for [secret sharing](https://en.wikipedia.org/wiki/Secret_sharing),
//! offering efficient share generation and reconstruction for both
//! traditional Shamir sharing and its packet (or ramp) variant.
//! For now, secrets and shares are fixed as prime field elements
//! represented by `i64` values.
#![cfg_attr(not(target_env = "sgx"), no_std)]
#![cfg_attr(target_env = "sgx", feature(rustc_private))]
#![feature(slice_concat_ext)]
#[cfg(not(target_env = "sgx"))]
#[macro_use]
extern crate sgx_tstd as std;
extern crate sgx_rand as rand;
mod fields;
mod numtheory;
pub use numtheory::positivise;
pub mod shamir;
pub mod packed;