round5 0.1.2

Implementation of Round5 post-quantum PKE and KEM algorithms
Documentation
use crate::parameters::Parameters;
use crate::r5_core::a_random::create_a_random;


pub static mut A_FIXED: Option<Vec<u16>> = None;

#[allow(dead_code)]
pub unsafe fn create_a_fixed(sigma: &[u8], params: &Parameters) {
    A_FIXED = Some(create_a_random(sigma, params));
    for e in A_FIXED.as_deref_mut().unwrap().iter_mut() {
        *e &= (params.q - 1) as u16;
    }
}

pub fn get_a_fixed() -> Vec<u16> {
    unsafe {
        A_FIXED.as_deref_mut().unwrap().to_vec()
    }
}