def cr.pcbc.enc.go
bend-osdev-crypto@0.1.0.0 · pcbc.bend:39
import bend-osdev-crypto@0.1.0.0/pcbc.bend as Pcbc
import Base
import bend-osdev-crypto@0.1.0.0/modes.bend as Md
39def cr.pcbc.enc.go(~K: Data, ~Blk: Data, ~enc: K -> Blk -> Blk, ~bxor: Blk -> Blk -> Blk, +k: K, bs: List<&2, Blk>, v: Blk, acc: List<&2, Blk>) -> List<&2, Blk>:
40 match bs:
41 case Nil{}:
42 Md.cr.blks.rev_onto(~Blk, acc, Nil{})
43 case Con{+p, t}:
44 +c = enc(k, bxor(p, v))
45 cr.pcbc.enc.go(~K, ~Blk, ~enc, ~bxor, k, t, bxor(p, c), Con{c, acc})