byte [ ] [ ] function ( byte [ ] [ ] arg0 ) { byte [ ] [ ] loc0 = new byte [ 4 ] [ 4 ] ; loc0 [ 0 ] = arg0 [ 0 ] ; for ( int loc1 = 1 ; loc1 <= 3 ; loc1 ++ ) { System . arraycopy ( arg0 [ loc1 ] , loc1 , loc0 [ loc1 ] , 0 , 4 - loc1 ) ; System . arraycopy ( arg0 [ loc1 ] , 0 , loc0 [ loc1 ] , 4 - loc1 , loc1 ) ; } return loc0 ; }
as defined in fips-197 : in the shiftrows transformation , the bytes in the last three rows of the state are cyclically shifted over different numbers of bytes offsets . the first row , r = 0 , is not shifted . concode_field_sep PlaceHolder placeHolder concode_field_sep byte[][] invShiftRows concode_elem_sep byte[][] mixColumns concode_elem_sep byte[][] inverseMixColumns concode_elem_sep byte getSBoxValue concode_elem_sep byte[][] inverseAddRoundKey concode_elem_sep byte[][] addRoundKey concode_elem_sep byte[][] invSubBytes concode_elem_sep byte getInverseSBoxValue concode_elem_sep byte[][] subBytes