def sm4.t
import bend-osdev-legacy-ciphers@0.1.0.0/sm4.bend as Sm4import Base
import bend-osdev-legacy-ciphers@0.1.0.0/legacy_ciphers.bend as L
48# T = L(tau(x)), L(B) = B xor B<<<2 xor B<<<10 xor B<<<18 xor B<<<24
49def sm4.t(+tab: L.LcTab, x: U32) -> U32:
50 +b = sm4.tau(tab, x)
51 U32.xor(U32.xor(U32.xor(b, L.lc.rotl(b, 2n)), U32.xor(L.lc.rotl(b, 10n), L.lc.rotl(b, 18n))), L.lc.rotl(b, 24n))