fn apply_permutation()

in crypto/src/hash/rescue/rp62_248/tests.rs [35:70]


fn apply_permutation() {
    let mut state: [BaseElement; STATE_WIDTH] = [
        BaseElement::new(0),
        BaseElement::new(1),
        BaseElement::new(2),
        BaseElement::new(3),
        BaseElement::new(4),
        BaseElement::new(5),
        BaseElement::new(6),
        BaseElement::new(7),
        BaseElement::new(8),
        BaseElement::new(9),
        BaseElement::new(10),
        BaseElement::new(11),
    ];

    super::apply_permutation(&mut state);

    // expected values are obtained by executing sage reference implementation code
    let expected = vec![
        BaseElement::new(2176593392043442589),
        BaseElement::new(3663362000910009411),
        BaseElement::new(2446978550600442325),
        BaseElement::new(4214718471639678996),
        BaseElement::new(4179776369445579812),
        BaseElement::new(2274316532403536457),
        BaseElement::new(2336761070419368662),
        BaseElement::new(3192888412646553651),
        BaseElement::new(4092565229845701133),
        BaseElement::new(753437048204208885),
        BaseElement::new(4067414342325289862),
        BaseElement::new(3516613610105678931),
    ];

    assert_eq!(expected, state);
}