def cbc.dec.go

bend-osdev-cipher-modes@0.1.0.0 · cbc.bend:46

import bend-osdev-cipher-modes@0.1.0.0/cbc.bend as Cbc
import Base
import bend-osdev-cipher-modes@0.1.0.0/cipher_modes.bend as M

46def cbc.dec.go(~K: Data, ~dec: K -> M.CmBlock -> M.CmBlock, +k: K, bs: List<&2, M.CmBlock>, iv: M.CmBlock, acc: List<&2, M.CmBlock>) -> List<&2, M.CmBlock>:
47  match bs:
48    case Nil{}:
49      M.cm.blocks.rev_onto(acc, Nil{})
50    case Con{+c, t}:
51      cbc.dec.go(~K, ~dec, k, t, c, Con{M.CmBlock.xor(iv, dec(k, c)), acc})

Uses (4)

Used by (2)