LAWS.feistel_unrun_run: law of bend-osdev-cipher-core@0.1.0.0 Import: import bend-osdev-cipher-core@0.1.0.0/LAWS.bend as LAWS Lines 63-70 of bend-osdev-cipher-core@0.1.0.0/LAWS.bend: https://jend.leeeet.dev/read.txt?path=bend-osdev-cipher-core@0.1.0.0/LAWS.bend&start_line=63&end_line=70 import Base import bend-osdev-cipher-core@0.1.0.0/cipher_core.bend as L # Feistel rounds over any round function f and any round keys: the rounds # undone last to first undo the rounds, and the other way round law feistel_unrun_run: for ~RK: Data for ~f: RK -> U32 -> U32 for ks: List<&2, RK> for +b: L.LcBlock64 {b == L.lc.fe.unrun(~RK, ~f, ks, L.lc.fe.run(~RK, ~f, ks, b)) : L.LcBlock64} Uses (6): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=bend-osdev-cipher-core@0.1.0.0/PROOF.bend&name=fe_unrun_run https://jend.leeeet.dev/definition.txt?path=bend-osdev-cipher-core@0.1.0.0/cipher_core.bend&name=LcBlock64 https://jend.leeeet.dev/definition.txt?path=bend-osdev-cipher-core@0.1.0.0/cipher_core.bend&name=lc.fe.run https://jend.leeeet.dev/definition.txt?path=bend-osdev-cipher-core@0.1.0.0/cipher_core.bend&name=lc.fe.unrun