ShiftRows
ShiftRowsは、状態の行を回転させて次のステップで列が混ざるようにするAESの処理である。
AESでは、ブロックの16バイトを4×4の状態として扱う。ShiftRowsは0行目をそのままにし、1、2、3行目をそれぞれ左へ1、2、3バイトぶん回転させる。単なる置換であり、それ自体は暗号としての働きを持たない。
要点は、MixColumnsが同じ列の中だけを混ぜることにある。ShiftRowsがなければ、あるバイトが別の列に影響することは決してない。2つのステップが交互に働くと、2ラウンドでどのバイトも4列すべてに影響を及ぼす。Rijndaelの設計が差分解読や線形解読に強い理由の一端である。