Skip to main content

mds_multiply

Function mds_multiply 

Source
pub fn mds_multiply<F: PrimeCharacteristicRing, A: Algebra<F>, const WIDTH: usize>(
    state: &mut [A; WIDTH],
    mds: &[[F; WIDTH]; WIDTH],
)
Expand description

Dense matrix-vector multiplication in O(t^2).

Only used for the non-circulant transition matrix in partial rounds, which is applied once per permutation call. The circulant MDS multiply in full rounds uses the MDS crate via the permutation trait instead.