Эксперт
Сергей
Сергей
Задать вопрос
Мы готовы помочь Вам.

Разработать на выбранном языке программирования программу шифрования и дешифрирования произвольного файла по алгоритму шифрования TEA и алгоритму создания цепочек OFB.

 

Блок-схема алгоритмов шифрования и дешифрирования приведены на рис.1 и рис. 2.

 

При реализации программы выполнить следующие требования:

  1. Исходный текст должен содержать комментарии ко всем переменным и функциям.

 

  1. Для шифрования берется произвольный файл с размером не менее 4 Мб и не кратным длине блока 8 байт.

 

  1. Для шифрования определить количество блоков кратных 8 байтам и их зашифровать отдельным потоком (циклом шифрования).

 

  1. Проверить последний блок на кратность 8 байтам. Если не кратен 8 байтам зашифровать его отдельной функцией и дописать в конец зашифрованного файла.

 

  1. Запрещается читать полностью файл для шифрования или дешифрирования в ОЗУ. Разрешается читать файлы блоками кратными 8 байтам. Размер блока должен быть согласован с размером свободной оперативной памяти.

 

  1. Имя файла для хранения ключа шифрования key.txt, длина файла 16 байт. Ключ генерируется псевдослучайной функцией с полным набором используемых символов.

 

  1. Запуск шифрования и дешифрирования выполняется с помощью одного файла-программы с использованием ключей.

 

Пример:

encrypt -e test.txt — пример запуска программы для шифрования файла.

 

encrypt -d test.txt.enc key.txt — пример запуска программы для дешифрирования файла.

 

  1. В результате шифрования к имени файла дописывается расширение «enc», информирующее, что файл зашифрован. Размер зашифрованного файла (криптограммы) должен быть равен размеру исходного файла.

 

  1. При дешифрировании расширение «enc» отбрасывается, то есть имя исходного файла восстанавливается. Если файл с таким именем имеется в каталоге назначения к имени файла перед расширение добавляется в скобках целое число, например test(1).txt. Размер дешифрованного файла должен быть равен размеру исходного файла.

 

screenshot 10

screenshot 11

 

Была ли полезна данная статья?
Да
60.96%
Нет
39.04%
Проголосовало: 1099

или напишите нам прямо сейчас:

⚠️ Пожалуйста, пишите в MAX или заполните форму выше.
В России Telegram и WhatsApp блокируют - сообщения могут не дойти.
Написать в MAXНаписать в TelegramНаписать в WhatsApp