Exemple #1
0
    def test_key_expansion(self, runtime):
        aes = AES(runtime, 256, quiet=True)
        key = []
        ascii_key = []

        for i in xrange(8):
            key.append([])

            for j in xrange(4):
                b = 15 * i + j
                key[i].append(Share(runtime, GF256, GF256(b)))
                ascii_key.append(chr(b))

        result = aes.key_expansion(key)

        r = rijndael(ascii_key)
        expected_result = []

        for round_key in r.Ke:
            for word in round_key:
                split_word = []
                expected_result.append(split_word)

                for j in xrange(4):
                    split_word.insert(0, word % 256)
                    word /= 256

        self.verify(runtime, result, expected_result)
Exemple #2
0
    def test_encrypt(self, runtime):
        cleartext = "Encrypt this!!!!"
        key = "Supposed to be secret!?!"

        aes = AES(runtime, 192, quiet=True)
        r = rijndael(key)

        result = aes.encrypt(cleartext, key)
        expected = [ord(c) for c in r.encrypt(cleartext)]

        return self.verify(runtime, [result], [expected])