pub mod bliss;
use rand::{ Rand, Rng };
pub use self::bliss::Bliss;
pub trait Signature {
type PrivateKey;
type PublicKey;
type Signature;
const SK_LENGTH: usize;
const PK_LENGTH: usize;
const SIGN_LENGTH: usize;
fn keygen<R: Rand + Rng>() -> (Self::PrivateKey, Self::PublicKey);
fn signature<R: Rand + Rng>(sk: &Self::PrivateKey, data: &[u8]) -> Self::Signature;
fn verify(pk: &Self::PublicKey, sign: &Self::Signature, data: &[u8]) -> bool;
}