def aes.inv_shift
import bend-osdev-aes@0.1.0.0/aes.bend as Aesimport Base
import bend-collections@1.0.0.0/src/crypto/aes/types.bend as T
99# InvShiftRows: row r moves r columns to the right
100def aes.inv_shift(s: T.State) -> T.State:
101 match s:
102 case T.S{T.W{p0, p1, p2, p3}, T.W{q0, q1, q2, q3}, T.W{r0, r1, r2, r3}, T.W{s0, s1, s2, s3}}:
103 T.S{T.W{p0, s1, r2, q3}, T.W{q0, p1, s2, r3}, T.W{r0, q1, p2, s3}, T.W{s0, r1, q2, p3}}