INNER CODE UNIT · Rust

test_keccak_permute

ethereum/mpz · crates/circuits-data/src/lib.rs:164

    fn test_keccak_permute() {
        let mut init_state: [u64; 25] = [1u64; 25].map(u64::to_le);

        let output: [u64; 25] = evaluate!(KECCAK_PERMUTE, init_state).unwrap();

        // Puts expected output into `init_state`.
        keccak::Keccak::new().with_f1600(|f| f(&mut init_state));

        assert_eq!(output, init_state);
    }

    // Test vectors from https://csrc.nist.gov/files/pubs/fips/197/final/docs/fips-197.pdf
    // Returns a tuple (key, key schedule, input, output).
    #[allow(dead_code)]
    fn aes_vectors() -> ([u8; 16], [u8; 176], [u8; 16], [u8; 16]) {
        use zerocopy::IntoBytes;

        #[rustfmt::skip]

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…