def pcbc_enc_tr

bend-osdev-crypto@0.1.0.0 · PROOF.bend:315

import bend-osdev-crypto@0.1.0.0/PROOF.bend as PROOF
import Base
import bend-osdev-crypto@0.1.0.0/modes.bend as Md
import bend-osdev-crypto@0.1.0.0/pcbc.bend as Pc

315def pcbc_enc_tr(~K: Data, ~Blk: Data, ~enc: K -> Blk -> Blk, ~bxor: Blk -> Blk -> Blk, +k: K, bs: List<&2, Blk>, +v: Blk, +acc: List<&2, Blk>) -> {Pc.cr.pcbc.enc.go(~K, ~Blk, ~enc, ~bxor, k, bs, v, acc) == Md.cr.blks.rev_onto(~Blk, acc, Pc.cr.pcbc.enc(~K, ~Blk, ~enc, ~bxor, k, bs, v)) : List<&2, Blk>}:
316  match bs:
317    case Nil{}:
318      {==}
319    case Con{+p, t}:
320      pcbc_enc_tr(~K, ~Blk, ~enc, ~bxor, k, t, bxor(p, enc(k, bxor(p, v))), Con{enc(k, bxor(p, v)), acc})

Uses (4)

Used by (1)