The next step in the cycle of a round consists in the permutation of a block at the byte level. To this end the bytes are exchanged within the individual lines (bi,0, bi,1, bi,2,...,
) of a block according to the schemata depicted in Tables 19.11-19.13.
|
Before ShiftRow |
After ShiftRow |
||||||
|---|---|---|---|---|---|---|---|
|
0 |
4 |
8 |
12 |
0 |
4 |
8 |
12 |
|
1 |
5 |
9 |
13 |
5 |
9 |
13 |
1 |
|
2 |
6 |
10 |
14 |
10 |
14 |
2 |
6 |
|
3 |
7 |
11 |
15 |
15 |
3 |
7 |
11 |
|
Before ShiftRow |
After ShiftRow |
||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
0 |
4 |
8 |
12 |
16 |
20 |
0 |
4 |
8 |
12 |
16 |
20 |
|
1 |
5 |
9 |
13 |
17 |
21 |
5 |
9 |
13 |
17 |
21 |
1 |
|
2 |
6 |
10 |
14 |
18 |
22 |
10 |
14 |
18 |
22 |
2 |
6 |
|
3 |
7 |
11 |
15 |
19 |
23 |
15 |
19 |
23 |
3 |
7 |
11 |
|
Before ShiftRow |
After ShiftRow |
||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
0 |
4 |
8 |
12 |
16 |
20 |
24 |
28 |
0 |
4 |
8 |
12 |
16 |
20 |
24 |
28 |
|
1 |
5 |
9 |
13 |
17 |
21 |
25 |
29 |
5 |
9 |
13 |
17 |
21 |
25 |
29 |
1 |
|
2 |
6 |
10 |
14 |
18 |
22 |
26 |
30 |
14 |
18 |
22 |
26 |
30 |
2 |
6 |
10 |
|
3 |
7 |
11 |
15 |
19 |
23 |
27 |
31 |
19 |
23 |
27 |
31 |
3 |
7 |
11 |
15 |
In each first row no exchange takes place. In lines i = 2, 3, 4 the bytes are rotated left by
positions, from position j to position j −
mod Lb, where
is taken from Table 19.14
|
Lb |
|
|
|
|---|---|---|---|
|
4 |
1 |
2 |
3 |
|
6 |
1 |
2 |
3 |
|
8 |
1 |
3 |
4 |
For inverting this step positions j in rows i = 2, 3, 4 are shifted to positions j +
mod Lb.
|
Team-Fly |