Beispiel #1
0
    def test_SubBytesInv(self):

        # test single substitution
        sbox_input = gf._cache.fetch_int(0xb8)
        expected_result = gf._cache.fetch_int(0x9a)

        instance = AES()
        result = instance.SubBytesInv([sbox_input])[0]
        self.assertEquals(expected_result, result)

        poly = gf._cache.fetch_int(0x99)
        self.assertEquals(poly,
                          instance.SubBytesInv(instance.SubBytes([poly]))[0])

        # full inversion test
        self.assertEquals(
            self.gf_full,
            instance.SubBytesInv(instance.SubBytes(self.gf_full)))