law modes64_cbc_octets

bend-osdev-cipher-core@0.1.0.0 · LAWS.bend:109

import bend-osdev-cipher-core@0.1.0.0/LAWS.bend as LAWS
import Base
import bend-osdev-bytes@0.1.1.0/bytes.bend as B
import bend-osdev-cipher-core@0.1.0.0/cipher_core.bend as L
import bend-osdev-cipher-core@0.1.0.0/modes64.bend as X

109law modes64_cbc_octets:
110  for ~K: Data
111  for ~enc: K -> L.LcBlock64 -> L.LcBlock64
112  for ~dec: K -> L.LcBlock64 -> L.LcBlock64
113  for +k: K
114  for +iv: L.LcBlock64
115  for +bs: List<&2, L.LcBlock64>
116  {Done{X.Lc64.octets_of(X.Lc64.cbc_decrypt_blocks(~K, ~dec, k, iv, X.Lc64.cbc_encrypt_blocks(~K, ~enc, k, iv, bs)))} == Result.bind(&2, &2, L.LcError, B.Octets, B.Octets, X.Lc64.cbc_encrypt(~K, ~enc, k, L.LcBlock64.to_octets(iv), X.Lc64.octets_of(bs)), c => X.Lc64.cbc_decrypt(~K, ~dec, k, L.LcBlock64.to_octets(iv), c)) : Result<&2, &2, L.LcError, B.Octets>}

Uses (15)

Used by (0)

No other definition uses this definition.