'ShiftRows step. Shifts 2nd row to left by 1, 3rd row by 2, 4th row by 3
Since we\'re performing this on a transposed matrix, cells are numbered
from top to bottom::
0  4  8 12   ->    0  4  8 12    -- 1st row doesn\'t change
1  5  9 13   ->    5  9 13  1    -- row shifted to left by 1 (wraps around)
2  6 10 14   ->   10 14  2  6    -- shifted by 2
3  7 11 15   ->   15  3  7 11    -- shifted by 3'

def shift_rows(self, b):

    (b[1], b[5], b[9], b[13]) = (b[5], b[9], b[13], b[1])
    (b[2], b[6], b[10], b[14]) = (b[10], b[14], b[2], b[6])
    (b[3], b[7], b[11], b[15]) = (b[15], b[3], b[7], b[11])
