INNER CODE UNIT · Rust

t1

orion-rs/orion · src/hazardous/dsa/ml_dsa/internal/mod.rs:591

            let t1 = fe_eta - &w.coefficients[2 * i + 1];
            *outelem = (t0.0 | (t1.0 << 4)) as u8;
        }
    }

    fn bitunpack_ring_element_eta(v: &[u8], w: &mut RingElement) {
        debug_assert_eq!(v.len(), Self::ETA_BITPACK_SIZE);
        let fe_eta = FieldElement::new(Self::ETA as u32);

        for (fe, &byte) in w.coefficients.chunks_exact_mut(2).zip(v.iter()) {
            fe[0] = fe_eta - &FieldElement::new((byte & 0x0F) as u32);
            fe[1] = fe_eta - &FieldElement::new((byte >> 4) as u32);
        }
    }

    fn bitpack_polynomial_vector_w1(w1: &RingElement, out: &mut [u8]) {
        debug_assert_eq!(out.len(), Self::W1_BITPACK_SIZE);
        debug_assert!(

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…