def test_ShiftRowsInv(self): instance = AES() test_indice_replacement = [(0, 0), (8, 8), (4, 4), (12, 12), (1, 13), (5, 1), (9, 5), (13, 9), (2, 10), (6, 14), (10, 2), (14, 6), (3, 7), (7, 11), (11, 15), (15, 3)] for indices in test_indice_replacement: self.assertEquals(test_mask(indices[1]), instance.ShiftRowsInv(test_mask(indices[0])), msg="indice %d is not replaced correctly" % indices[0]) # full inversion test for block in instance._get_blocks(self.gf_full): test_input = block self.assertEquals( test_input, instance.ShiftRowsInv(instance.ShiftRows(test_input))) self.assertNotEqual(test_input, instance.ShiftRowsInv(test_input))