def sp_bswapd

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

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

1278def sp_bswapd(s: M.CmBlock) -> {s == P.sp.op(P.LcSpBswap{}, P.sp.unop(P.LcSpBswap{}, s)) : M.CmBlock}:
1279  match s:
1280    case M.CmBlock{+a, +b, +c, +d}:
1281      %bswap2(a) : {M.CmBlock{a, b, c, d} == M.CmBlock{_, L.lc.bswap.bits(L.lc.bswap.bits(b)), L.lc.bswap.bits(L.lc.bswap.bits(c)), L.lc.bswap.bits(L.lc.bswap.bits(d))} : M.CmBlock}
1282      %bswap2(b) : {M.CmBlock{a, b, c, d} == M.CmBlock{a, _, L.lc.bswap.bits(L.lc.bswap.bits(c)), L.lc.bswap.bits(L.lc.bswap.bits(d))} : M.CmBlock}
1283      %bswap2(c) : {M.CmBlock{a, b, c, d} == M.CmBlock{a, b, _, L.lc.bswap.bits(L.lc.bswap.bits(d))} : M.CmBlock}
1284      %bswap2(d) : {M.CmBlock{a, b, c, d} == M.CmBlock{a, b, c, _} : M.CmBlock}
1285      {==}

Uses (6)

Used by (1)