def cbc128
bend-osdev-aria@0.1.0.0 · check.bend:73
import bend-osdev-aria@0.1.0.0/check.bend as Check
import Base
import bend-osdev-bytes@0.1.1.0/bytes.bend as B
import bend-osdev-mode-core@0.1.0.0/mode_core.bend as M
import bend-osdev-cbc@0.1.0.0/cbc.bend as CB
73def cbc128(~K: Data, ~enc: K -> M.CmBlock -> M.CmBlock, ~dec: K -> M.CmBlock -> M.CmBlock, +k: K, n: Nat) -> String:
74 +m = big(n)
75 +c = CB.Cbc.encrypt(~K, ~enc, k, iv16(), m)
76 last16(c) ++ " " ++ same(Result.bind(&2, &2, M.CmError, B.Octets, B.Octets, c, x => CB.Cbc.decrypt(~K, ~dec, k, iv16(), x)), m)