pub struct Theta {
shifts_c: Vec<u64>,
dense_c: Vec<u64>,
quotient_c: Vec<u64>,
remainder_c: Vec<u64>,
dense_rot_c: Vec<u64>,
expand_rot_c: Vec<u64>,
state_e: Vec<u64>,
}Expand description
Values involved in Theta permutation step
Fields§
§shifts_c: Vec<u64>§dense_c: Vec<u64>§quotient_c: Vec<u64>§remainder_c: Vec<u64>§dense_rot_c: Vec<u64>§expand_rot_c: Vec<u64>§state_e: Vec<u64>Implementations§
Source§impl Theta
impl Theta
pub fn create(state_a: &[u64]) -> Self
pub fn shifts_c(&self, i: usize, x: usize, q: usize) -> u64
pub fn dense_c(&self, x: usize, q: usize) -> u64
pub fn quotient_c(&self, x: usize) -> u64
pub fn remainder_c(&self, x: usize, q: usize) -> u64
pub fn dense_rot_c(&self, x: usize, q: usize) -> u64
pub fn expand_rot_c(&self, x: usize, q: usize) -> u64
pub fn state_e(&self) -> Vec<u64>
fn compute_state_c(state_a: &[u64]) -> Vec<u64>
fn compute_state_d(shifts_c: &[u64], expand_rot_c: &[u64]) -> Vec<u64>
fn compute_state_e(state_a: &[u64], state_d: &[u64]) -> Vec<u64>
Auto Trait Implementations§
impl Freeze for Theta
impl RefUnwindSafe for Theta
impl Send for Theta
impl Sync for Theta
impl Unpin for Theta
impl UnsafeUnpin for Theta
impl UnwindSafe for Theta
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more