law cbc_blocks_round_trip
import bend-osdev-cipher-modes@0.1.0.0/LAWS.bend as LAWSimport Base
import bend-osdev-cipher-modes@0.1.0.0/cipher_modes.bend as M
import bend-osdev-cipher-modes@0.1.0.0/cbc.bend as C
19# CBC on blocks: decryption undoes encryption, for every key, IV and message
20law cbc_blocks_round_trip:
21 for ~K: Data
22 for ~enc: K -> M.CmBlock -> M.CmBlock
23 for ~dec: K -> M.CmBlock -> M.CmBlock
24 for ~inv: @k: K -> @b: M.CmBlock -> {dec(k, enc(k, b)) == b : M.CmBlock}
25 for +k: K
26 for iv: M.CmBlock
27 for bs: List<&2, M.CmBlock>
28 {C.Cbc.decrypt_blocks(~K, ~dec, k, iv, C.Cbc.encrypt_blocks(~K, ~enc, k, iv, bs)) == bs : List<&2, M.CmBlock>}
Uses (9)
Used by (0)
No other definition uses this definition.