Example #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)))
 def SubWord(word):
     from AES import AES
     temp = AES.SubBytes(word)
     return vector(temp)
Example #3
0
    def test_SubBytes_table(self):
        result = AES.SubBytes(self.gf_full)

        for (i, expected_int) in enumerate(S):
            self.assertEquals(expected_int, int(result[i]._int_repr()))
Example #4
0
 def test_SubBytes(self):
     sbox_input = gf._cache.fetch_int(0x9a)
     expected_result = gf._cache.fetch_int(0xb8)
     result = AES.SubBytes([sbox_input])[0]
     self.assertEquals(expected_result, result)