1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
//! # saber
//!
//! This crate provides bindings to and wrappers around the following
//! implementations from [PQClean][pqc]:
//!
//! * firesaber - clean
//! * lightsaber - clean
//! * saber - clean
//!
//! [pqc]: https://github.com/pqclean/pqclean/
//!

#![allow(clippy::len_without_is_empty)]

pub mod ffi;

pub mod firesaber;
pub mod lightsaber;
pub mod saber;

pub use crate::firesaber::{
    ciphertext_bytes as firesaber_ciphertext_bytes, decapsulate as firesaber_decapsulate,
    encapsulate as firesaber_encapsulate, keypair as firesaber_keypair,
    public_key_bytes as firesaber_public_key_bytes, secret_key_bytes as firesaber_secret_key_bytes,
    shared_secret_bytes as firesaber_shared_secret_bytes,
};
pub use crate::lightsaber::{
    ciphertext_bytes as lightsaber_ciphertext_bytes, decapsulate as lightsaber_decapsulate,
    encapsulate as lightsaber_encapsulate, keypair as lightsaber_keypair,
    public_key_bytes as lightsaber_public_key_bytes,
    secret_key_bytes as lightsaber_secret_key_bytes,
    shared_secret_bytes as lightsaber_shared_secret_bytes,
};
pub use crate::saber::{
    ciphertext_bytes as saber_ciphertext_bytes, decapsulate as saber_decapsulate,
    encapsulate as saber_encapsulate, keypair as saber_keypair,
    public_key_bytes as saber_public_key_bytes, secret_key_bytes as saber_secret_key_bytes,
    shared_secret_bytes as saber_shared_secret_bytes,
};