def cam.fl

bend-osdev-legacy-ciphers@0.1.0.0 · camellia.bend:103

import bend-osdev-legacy-ciphers@0.1.0.0/camellia.bend as Camellia
import Base
import bend-osdev-legacy-ciphers@0.1.0.0/legacy_ciphers.bend as L

103# FL and FL^-1 (RFC 3713, 2.4.2)
104def cam.fl(x: L.LcBlock64, k: L.LcBlock64) -> L.LcBlock64:
105  match x k:
106    case L.LcBlock64{+x1, x2} L.LcBlock64{k1, k2}:
107      +y2 = U32.xor(x2, L.lc.rotl(U32.and(x1, k1), 1n))
108      L.LcBlock64{U32.xor(x1, U32.or(y2, k2)), y2}

Uses (5)

Used by (6)