예제 #1
0
class TestBlockEncryption(unittest.TestCase):
    def setUp(self):
        self.aes128 = AES(b'z' * 16)
        self.aes192 = AES(b'x' * 24)
        self.aes256 = AES(b'c' * 32)

    def test_encr_block_128(self):
        message = b'M' * 16
        ciphertext = self.aes128.encrypt_block(message)
        self.assertEqual(self.aes128.decrypt_block(ciphertext), message)

        message = b'message 123 1234'
        ciphertext = self.aes128.encrypt_block(message)
        self.assertEqual(self.aes128.decrypt_block(ciphertext), message)

    def test_encr_block_192(self):
        message = b'\x01' * 16
        ciphertext = self.aes192.encrypt_block(message)
        self.assertEqual(self.aes192.decrypt_block(ciphertext), message)

        message = b'message 123 1234'
        ciphertext = self.aes192.encrypt_block(message)
        self.assertEqual(self.aes192.decrypt_block(ciphertext), message)

    def test_encr_block_256(self):
        message = b'\x01' * 16
        ciphertext = self.aes256.encrypt_block(message)
        self.assertEqual(self.aes256.decrypt_block(ciphertext), message)

        message = b'message 123 1234'
        ciphertext = self.aes256.encrypt_block(message)
        self.assertEqual(self.aes256.decrypt_block(ciphertext), message)