code: def sub_bytes(state):
      
      state = state.reshape(4, 32)
      return fcat(
          subword(state[0]),
          subword(state[1]),
          subword(state[2]),
          subword(state[3]),
      )
docs: Transformation in the Cipher that processes the State using a non­linear
      byte substitution table (S-box) that operates on each of the State bytes
      independently.