Esempio n. 1
0
    def test_cbc_on_file(self):
        data_size = 16

        key = helper.generate_random_key(data_size)
        key_schedule = aes.gen_key_schedule(key)

        iv = helper.initialization_vector(data_size)
        iv = helper.convert_to_state_matrix(iv)

        aes_io.encrypt_file(key_schedule,
                            self.test_file_path,
                            self.test_encrypt_path,
                            chunk_size=data_size,
                            mode=aes.Mode.cbc,
                            iv=iv)
        self.assertFalse(
            filecmp.cmp(self.test_file_path, self.test_encrypt_path))

        aes_io.decrypt_file(key_schedule,
                            self.test_encrypt_path,
                            self.test_decrypt_path,
                            chunk_size=data_size,
                            mode=aes.Mode.cbc,
                            iv=iv)
        self.assertTrue(
            filecmp.cmp(self.test_file_path, self.test_decrypt_path))
Esempio n. 2
0
def gen_key_click():
    key_size = key_size_bytes.get()
    key = helper.generate_random_key(key_size)

    if len(key) != key_size:
        log("Gen Key: Wrong key size. ({}, {} =/= {})".format(
            key, len(key), key_size))
        return

    key_entry_text.set(helper.convert_bytes_to_hex(key))

    log("Gen Key: Generated.")
Esempio n. 3
0
def main():

    # Testing has been moved to aes_test.py

    key = helper.generate_random_key(16)
    key_schedule, _ = aes.gen_key_schedule(key)

    encrypt_file(key_schedule, test_file_path, test_encrypt_path)
    print(filecmp.cmp(test_file_path, test_encrypt_path))

    decrypt_file(key_schedule, test_encrypt_path, test_decrypt_path)
    # Testing to see if decrypted file is same as original
    print(filecmp.cmp(test_file_path, test_decrypt_path))
Esempio n. 4
0
    def test_ecb_on_string(self):
        data = helper.get_byte_list_from(
            "This is a secret message. Such secret. Much crypto. Wow aes. xD.")

        key = helper.generate_random_key(16)
        key_schedule = aes.gen_key_schedule(key)

        encrypt = aes.ecb_encryption(key_schedule)
        encrypted_data = encrypt(data)

        decrypt = aes.ecb_decryption(key_schedule)
        decrypted_data = decrypt(encrypted_data)

        self.assertTrue(data == decrypted_data)
        self.assertTrue(not data is decrypted_data)
Esempio n. 5
0
    def test_ecb_on_file(self):
        key = helper.generate_random_key(16)
        key_schedule = aes.gen_key_schedule(key)

        aes_io.encrypt_file(key_schedule,
                            self.test_file_path,
                            self.test_encrypt_path,
                            mode=aes.Mode.ecb)
        self.assertFalse(
            filecmp.cmp(self.test_file_path, self.test_encrypt_path))

        aes_io.decrypt_file(key_schedule,
                            self.test_encrypt_path,
                            self.test_decrypt_path,
                            mode=aes.Mode.ecb)
        self.assertTrue(
            filecmp.cmp(self.test_file_path, self.test_decrypt_path))
Esempio n. 6
0
    def test_cbc_on_string(self):
        data = helper.get_byte_list_from("1234567891234567")

        data_size = len(data) * 4

        key = helper.generate_random_key(data_size)
        key_schedule = aes.gen_key_schedule(key)

        iv = helper.initialization_vector(data_size)
        iv = helper.convert_to_state_matrix(iv)

        encrypt = aes.cbc_encryption(key_schedule, iv)
        encrypted_data = encrypt(data)

        decrypt = aes.cbc_decryption(key_schedule, iv)
        decrypted_data = decrypt(encrypted_data)

        self.assertTrue(data == decrypted_data)
        self.assertTrue(not data is decrypted_data)