def cam.f

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

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

96def cam.f(t: LcCamTabs, x: L.LcBlock64, k: L.LcBlock64) -> L.LcBlock64:
97  match t x k:
98    case LcCamTabs{+s1, +s2, +s3, +s4} L.LcBlock64{xh, xl} L.LcBlock64{kh, kl}:
99      +a = U32.xor(xh, kh)
100      +b = U32.xor(xl, kl)
101      cam.p(L.lc.tab.get(8n, s1, L.lc.byte(a, 3n)), L.lc.tab.get(8n, s2, L.lc.byte(a, 2n)), L.lc.tab.get(8n, s3, L.lc.byte(a, 1n)), L.lc.tab.get(8n, s4, L.lc.byte(a, 0n)), L.lc.tab.get(8n, s2, L.lc.byte(b, 3n)), L.lc.tab.get(8n, s3, L.lc.byte(b, 2n)), L.lc.tab.get(8n, s4, L.lc.byte(b, 1n)), L.lc.tab.get(8n, s1, L.lc.byte(b, 0n)))

Uses (6)

Used by (6)