def cr.lrw.dec.go
bend-osdev-crypto@0.1.0.0 · lrw.bend:89
import bend-osdev-crypto@0.1.0.0/lrw.bend as Lrw
import Base
import bend-osdev-bytes@0.1.0.0/bytes.bend as B
import bend-osdev-gf@0.1.0.0/gf128.bend as G
import bend-osdev-crypto@0.1.0.0/modes.bend as Md
89def cr.lrw.dec.go(~K: Data, ~Blk: Data, ~dec: K -> Blk -> Blk, ~bxor: Blk -> Blk -> Blk, ~blk_of: B.Octets -> Maybe<&2, Blk>, +k: K, +k2: G.Gf128, bs: List<&2, Blk>, +i: G.Gf128, acc: List<&2, Blk>) -> List<&2, Blk>:
90 match bs:
91 case Nil{}:
92 Md.cr.blks.rev_onto(~Blk, acc, Nil{})
93 case Con{c, t}:
94 cr.lrw.dec.go(~K, ~Blk, ~dec, ~bxor, ~blk_of, k, k2, t, cr.lrw.inc(i), Con{cr.lrw.bdec(~K, ~Blk, ~dec, ~bxor, k, cr.lrw.tweak(~Blk, ~blk_of, k2, i), c), acc})