law blowfish_pcbc_round_trip

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

import bend-osdev-crypto@0.1.0.0/LAWS.bend as LAWS
import Base
import bend-osdev-legacy-ciphers@0.1.0.0/legacy_ciphers.bend as L
import bend-osdev-legacy-ciphers@0.1.0.0/blowfish.bend as Bf
import bend-osdev-crypto@0.1.0.0/pcbc.bend as Pc
import bend-osdev-crypto@0.1.0.0/inst_lc.bend as LC

998# Blowfish (legacy-ciphers) in PCBC (pcbc.bend): decryption undoes encryption, for every key, IV and list of blocks
999law blowfish_pcbc_round_trip:
1000  for +k: Bf.LcBlowfishKey
1001  for +iv: L.LcBlock64
1002  for +bs: List<&2, L.LcBlock64>
1003  {Pc.CrPcbc.decrypt_blocks(~Bf.LcBlowfishKey, ~L.LcBlock64, ~Bf.LcBlowfish.decrypt, ~LC.CrBlk64.xor, k, iv, Pc.CrPcbc.encrypt_blocks(~Bf.LcBlowfishKey, ~L.LcBlock64, ~Bf.LcBlowfish.encrypt, ~LC.CrBlk64.xor, k, iv, bs)) == bs : List<&2, L.LcBlock64>}

Uses (16)

Used by (0)

No other definition uses this definition.