law cbc_blocks_round_trip

bend-osdev-cbc@0.1.0.0 · LAWS.bend:16

import bend-osdev-cbc@0.1.0.0/LAWS.bend as LAWS
import Base
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 C

16law cbc_blocks_round_trip:
17  for ~K: Data
18  for ~enc: K -> M.CmBlock -> M.CmBlock
19  for ~dec: K -> M.CmBlock -> M.CmBlock
20  for +k: K
21  for inv: @xs: List<&2, M.CmBlock> -> {M.CmBlock.dec_enc(~K, ~enc, ~dec, k, xs) == xs : List<&2, M.CmBlock>}
22  for iv: M.CmBlock
23  for bs: List<&2, M.CmBlock>
24  {C.Cbc.decrypt_blocks(~K, ~dec, k, iv, C.Cbc.encrypt_blocks(~K, ~enc, k, iv, bs)) == bs : List<&2, M.CmBlock>}

Uses (11)

Used by (0)

No other definition uses this definition.