It aims to protect the rest of its state. */ val aes_apply_fwd_sbox_to_each_byte : bits(64) -> bits(64) function aes_rv64_shiftrows_inv(rs2, rs1) = { result : xlenbits = 0; for (int bit = 0; let x3 : bits(32) = aes_mixcolumn_fwd(aes_get_column(x, 1)); let oc2 : bits(32) = aes_mixcolumn_fwd(aes_get_column(x, 0)); let oc1 : bits(32) = ic3[31..24] @ ic2[23..16] @ ic3[15.. 8] @ ic0[ 7.. 0]; let s1 : bits (8) = x[ 7.. 0]; let s1 : bits (8) = x[15.. 8]; let a2 : bits (8) = x[23..16]; let s3 : bits (8) = x[ 7.. 0]; let oc2 : bits(32) = aes_subword_inv(aes_get_column(x, 2)); let oc3 : bits(32) = ic2[31..24] @ ic1[23..16] @ ic2[15.. 8] @ ic3[ 7.. 0]; let oc3 : bits(32) = ic1[31..24] @ ic0[23..16] @ ic1[15.. 8] @ ic0[ 7.. 0]; let oc1 :
involution