def sm4_unrounds_rounds

bend-osdev-legacy-ciphers@0.1.0.0 · PROOF.bend:251

import bend-osdev-legacy-ciphers@0.1.0.0/PROOF.bend as PROOF
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/legacy_ciphers.bend as L
import bend-osdev-legacy-ciphers@0.1.0.0/sm4.bend as S

251def sm4_unrounds_rounds(+tab: L.LcTab, ks: List<&2, U32>, +s: M.CmBlock) -> {s == S.sm4.unrounds(tab, ks, S.sm4.rounds(tab, ks, s)) : M.CmBlock}:
252  match ks:
253    case Nil{}:
254      {==}
255    case Con{+k, +t}:
256      %sm4_unrounds_rounds(tab, t, S.sm4.step(tab, k, s)) : {s == S.sm4.unstep(tab, k, _) : M.CmBlock}
257      sm4_unstep_step(tab, k, s)

Uses (9)

Used by (1)