def cmac.push

bend-osdev-cipher-modes@0.1.0.0 · cmac.bend:44

import bend-osdev-cipher-modes@0.1.0.0/cmac.bend as Cmac
import Base
import bend-osdev-cipher-modes@0.1.0.0/cipher_modes.bend as M

44def cmac.push(~K: Data, ~enc: K -> M.CmBlock -> M.CmBlock, full: Bool, +k: K, x: M.CmBlock, buf: List<&2, U32>, +n: Nat, b: U32) -> CmacState:
45  match full:
46    case True{}:
47      CmacState{enc(k, M.CmBlock.xor(x, M.cm.block_of(List.reverse(&2, U32, buf)))), Con{b, Nil{}}, 1n}
48    case False{}:
49      CmacState{x, Con{b, buf}, 1n+n}

Uses (9)

Used by (1)