def ccm.cbcmac

bend-osdev-cipher-modes@0.1.0.0 · ccm.bend:43

import bend-osdev-cipher-modes@0.1.0.0/ccm.bend as Ccm
import Base
import bend-osdev-cipher-modes@0.1.0.0/cipher_modes.bend as M

43# CBC-MAC of whole blocks, from x
44def ccm.cbcmac(~K: Data, ~enc: K -> M.CmBlock -> M.CmBlock, +k: K, bs: List<&2, M.CmBlock>, x: M.CmBlock) -> M.CmBlock:
45  match bs:
46    case Nil{}:
47      x
48    case Con{b, t}:
49      ccm.cbcmac(~K, ~enc, k, t, enc(k, M.CmBlock.xor(x, b)))

Uses (3)

Used by (3)