def cbc.enc.go
bend-osdev-cipher-modes@0.1.0.0 · cbc.bend:35
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
35def cbc.enc.go(~K: Data, ~enc: K -> M.CmBlock -> M.CmBlock, +k: K, bs: List<&2, M.CmBlock>, iv: M.CmBlock, acc: List<&2, M.CmBlock>) -> List<&2, M.CmBlock>:
36 match bs:
37 case Nil{}:
38 M.cm.blocks.rev_onto(acc, Nil{})
39 case Con{p, t}:
40 +c = enc(k, M.CmBlock.xor(iv, p))
41 cbc.enc.go(~K, ~enc, k, t, c, Con{c, acc})