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)