def m64.cbc.enc

bend-osdev-legacy-ciphers@0.1.0.0 · modes64.bend:29

import bend-osdev-legacy-ciphers@0.1.0.0/modes64.bend as Modes64
import Base
import bend-osdev-legacy-ciphers@0.1.0.0/legacy_ciphers.bend as L

29# C_1 = E(P_1 xor IV), C_j = E(P_j xor C_(j-1))
30def m64.cbc.enc(~K: Data, ~enc: K -> L.LcBlock64 -> L.LcBlock64, +k: K, bs: List<&2, L.LcBlock64>, iv: L.LcBlock64) -> List<&2, L.LcBlock64>:
31  match bs:
32    case Nil{}:
33      Nil{}
34    case Con{p, t}:
35      +c = enc(k, L.LcBlock64.xor(iv, p))
36      Con{c, m64.cbc.enc(~K, ~enc, k, t, c)}

Uses (3)

Used by (5)