law twofish_pcbc_round_trip

bend-osdev-crypto@0.1.0.0 · LAWS.bend:866

import bend-osdev-crypto@0.1.0.0/LAWS.bend as LAWS
import Base
import bend-osdev-cipher-modes@0.1.0.0/cipher_modes.bend as M
import bend-osdev-legacy-ciphers@0.1.0.0/twofish.bend as Tf
import bend-osdev-crypto@0.1.0.0/pcbc.bend as Pc
import bend-osdev-crypto@0.1.0.0/inst_cm.bend as CM

866# Twofish (legacy-ciphers) in PCBC (pcbc.bend): decryption undoes encryption, for every key, IV and list of blocks
867law twofish_pcbc_round_trip:
868  for +k: Tf.LcTwofishKey
869  for +iv: M.CmBlock
870  for +bs: List<&2, M.CmBlock>
871  {Pc.CrPcbc.decrypt_blocks(~Tf.LcTwofishKey, ~M.CmBlock, ~Tf.LcTwofish.decrypt, ~CM.CrBlk128.xor, k, iv, Pc.CrPcbc.encrypt_blocks(~Tf.LcTwofishKey, ~M.CmBlock, ~Tf.LcTwofish.encrypt, ~CM.CrBlk128.xor, k, iv, bs)) == bs : List<&2, M.CmBlock>}

Uses (16)

Used by (0)

No other definition uses this definition.