def sp_lt5d

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

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/serpent.bend as P

1215def sp_lt5d(s: M.CmBlock) -> {s == P.sp.lt5(P.sp.ilt5(s)) : M.CmBlock}:
1216  match s:
1217    case M.CmBlock{+x0, +x1, +x2, +x3}:
1218      %rot_1_31(x1) : {M.CmBlock{x0, x1, x2, x3} == M.CmBlock{x0, _, x2, L.lc.rotl7.bits(L.lc.rotl25.bits(x3))} : M.CmBlock}
1219      %rot_7_25(x3) : {M.CmBlock{x0, x1, x2, x3} == M.CmBlock{x0, x1, x2, _} : M.CmBlock}
1220      {==}

Uses (7)

Used by (1)