#![no_std]
#![deny(missing_docs)]
#![forbid(unsafe_code)]
#[cfg(feature = "alloc")]
extern crate alloc;
mod cipher;
mod engine;
mod params;
mod portable_engine;
#[cfg(feature = "rustcrypto")]
mod rustcrypto_engine;
mod traits;
pub use engine::{Threefish256Engine, Threefish512Engine, Threefish1024Engine, ThreefishEngine};
#[cfg(feature = "alloc")]
pub use params::ThreefishParamsOwned;
pub use params::ThreefishParamsRef;
pub use portable_engine::ThreefishPortableEngine;
#[cfg(feature = "rustcrypto")]
pub use rustcrypto_engine::ThreefishRustCryptoEngine;
pub use traits::ThreefishParams;
pub const TWEAK_BYTES: usize = 16;
pub const THREEFISH_256_ALGO_NAME: &str = "Threefish-256";
pub const THREEFISH_512_ALGO_NAME: &str = "Threefish-512";
pub const THREEFISH_1024_ALGO_NAME: &str = "Threefish-1024";