def fc.f

bend-osdev-legacy-ciphers@0.1.0.0 · fcrypt.bend:174

import bend-osdev-legacy-ciphers@0.1.0.0/fcrypt.bend as Fcrypt
import Base
import bend-osdev-legacy-ciphers@0.1.0.0/legacy_ciphers.bend as L

174# F(R, W_i)
175def fc.f(k: LcFcRk, r: U32) -> U32:
176  match k:
177    case LcFcRk{w, t}:
178      match t:
179        case LcFcTabs{s0, s1, s2, s3}:
180          +x = U32.xor(r, w)
181          L.lc.rotl(L.lc.be(L.lc.tab.get(8n, s0, L.lc.byte(x, 0n)), L.lc.tab.get(8n, s1, L.lc.byte(x, 1n)), L.lc.tab.get(8n, s3, L.lc.byte(x, 3n)), L.lc.tab.get(8n, s2, L.lc.byte(x, 2n))), 27n)

Uses (8)

Used by (4)