def Cbc.decrypt_padded
bend-osdev-cbc@0.1.0.0 · cbc.bend:157
import bend-osdev-cbc@0.1.0.0/cbc.bend as Cbc
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-pkcs7@0.1.0.0/pkcs7.bend as P
157
158def Cbc.decrypt_padded(~K: Data, ~dec: K -> M.CmBlock -> M.CmBlock, +k: K, iv: B.Octets, +c: B.Octets) -> Result<&2, &2, M.CmError, B.Octets>:
159 +n = B.Octets.len(c)
160 do Result<&2, &2, M.CmError, B.Octets>:
161 M.cm.check(Nat.is_lt(0n, n), M.CmTooShort{n})
162 padded : B.Octets <- Cbc.decrypt(~K, ~dec, k, iv, c)
163 P.Pkcs7.unpad(16n, padded)