INNER CODE UNIT · Rust

f1

RustCrypto/stream-ciphers · hc-256/src/lib.rs:61

        fn f1(x: u32) -> u32 {
            x.rotate_right(7) ^ x.rotate_right(18) ^ (x >> 3)
        }

        fn f2(x: u32) -> u32 {
            x.rotate_right(17) ^ x.rotate_right(19) ^ (x >> 10)
        }

        let mut out = Self {
            ptable: [0; TABLE_SIZE],
            qtable: [0; TABLE_SIZE],
            idx: 0,
        };
        let mut data = [0; INIT_SIZE];

        for i in 0..KEY_WORDS {
            data[i] = key[4 * i] as u32 & 0xff
                | ((key[(4 * i) + 1] as u32 & 0xff) << 8)

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…