pub const SABER_N: usize = 256;
pub const SABER_Q: u16 = 8192;
pub const SABER_P: u16 = 1024;
pub struct LightSaberParams {
pub n: usize,
pub q: u16,
pub p: u16,
pub l: usize,
pub t: u16,
pub eq: usize,
pub ep: usize,
pub et: usize,
pub public_key_size: usize,
pub secret_key_size: usize,
pub ciphertext_size: usize,
pub shared_secret_size: usize,
}
pub const LIGHTSABER: LightSaberParams = LightSaberParams {
n: SABER_N,
q: SABER_Q,
p: SABER_P,
l: 2,
t: 1024, eq: 13,
ep: 10,
et: 3,
public_key_size: 672,
secret_key_size: 1568,
ciphertext_size: 736,
shared_secret_size: 32,
};
pub struct SaberParams {
pub n: usize,
pub q: u16,
pub p: u16,
pub l: usize,
pub t: u16,
pub eq: usize,
pub ep: usize,
pub et: usize,
pub public_key_size: usize,
pub secret_key_size: usize,
pub ciphertext_size: usize,
pub shared_secret_size: usize,
}
pub const SABER: SaberParams = SaberParams {
n: SABER_N,
q: SABER_Q,
p: SABER_P,
l: 3,
t: 1024, eq: 13,
ep: 10,
et: 4,
public_key_size: 992,
secret_key_size: 2304,
ciphertext_size: 1088,
shared_secret_size: 32,
};
pub struct FireSaberParams {
pub n: usize,
pub q: u16,
pub p: u16,
pub l: usize,
pub t: u16,
pub eq: usize,
pub ep: usize,
pub et: usize,
pub public_key_size: usize,
pub secret_key_size: usize,
pub ciphertext_size: usize,
pub shared_secret_size: usize,
}
pub const FIRESABER: FireSaberParams = FireSaberParams {
n: SABER_N,
q: SABER_Q,
p: SABER_P,
l: 4,
t: 1024, eq: 13,
ep: 10,
et: 6,
public_key_size: 1312,
secret_key_size: 3040,
ciphertext_size: 1472,
shared_secret_size: 32,
};