EncryptionFile - это скрипт для зашифровки любых файлов и создания ключа шифрования
DecodingFile - это скрипт для расшифровки зашифрованого файла с помощью созданого ключа шифрования
Для работы скрипта необходимо установить библиотеку и указать пути работы:
- Установить библиотеку - pip install cryptography;
- Указать путь файла который нужно зашифровать в поле "input_file" например 'C:/Users/Nikolay/Desktop/Текст.doc';
- Указать путь файла который получим после шифрования в поле "output_file" например 'C:/Users/Nikolay/Desktop/encrypted.bin';
- Указать путь файла для ключа шифрования в поле "key_file_path" например 'C:/Users/Nikolay/Desktop/key.txt';
Главное для всех файлов правильно указать расширение (по типу .txt, .doc, .pdf и т.д.). Также очень важно, чтобы ключ, использованный для шифрования, был тем же, что и для расшифровки.
Описание работы EncryptionFile:
- Принимает пути к входному и выходному файлам, а также к ключу шифрования;
- Генерирует случайный вектор инициализации (IV);
- Инициализирует шифр AES с режимом CFB, используя ключ и IV;
- Открывает входной файл и читает его содержимое;
- Применяет дополнение к данным, чтобы их размер соответствовал требованиям AES;
- Шифрует данные и объединяет их с IV;
- Записывает зашифрованные данные в выходной файл;
- Генерируется случайный 256-битный ключ шифрования;
- Ключ сохраняется в файле key.txt.
Описание работы DecodingFile:
- Принимает пути к входному и выходному файлам, а также к ключу шифрования;
- Открывает зашифрованный файл, считывает IV и зашифрованные данные;
- Инициализирует шифр AES с режимом CFB для расшифровки, используя считанный IV и предоставленный ключ;
- Производит расшифровку данных;
- Удаляет дополнение из расшифрованных данных;
- Создает выходной файл и записывает расшифрованные данные.