Утилита шифрования/расшифрования
- Разработать программу выполняющую шифрование/расшифрование файлов
- Запись/удаление шаблона -- комбинации из параметров: ключ, инициализирующий вектор, шифр, режим работы, режим дополнения последнего блока;
- Объединение в цепочку нескольких шаблонов (выход одного -- вход другого)
- История использования конкретного шаблона в рамках сессии
- Необходимо реализовать функции сохранения и восстановления шаблонов.
[имя] [режим] [имя-входного-файла] [имя-выходного-файла]
- имя -- имя шаблона или цепочки шаблонов
- режим
e
-- шифрованиеd
-- дешифрование
- имя-входного-файла -- имя исходного файла
- имя-входного-файла -- имя нового файла
create [имя]
[код-шифра] [режим-шифрования] [режим-дополнения-блока]
[ключ]
[вектор-инициализации]
- имя -- имя создаваемого шаблона
- код-шифра -- код шаблона
0
-- Перестановка на блоке1
-- Шифр Виженера2
-- Шифр Хилла
- режим-шифрования -- режим шифрования
0
-- ECB1
-- CFB2
-- OFB3
-- CBC
- режим-дополнения-блока -- режим дополнения последнего блока
0
-- PKCS71
-- ANSI X.9232
-- ISO 10126
- ключ -- ключ
- вектор-инициализации -- вектор инициализации. Значением каждого символа является его ASCII код.
erase [имя]
- имя -- имя удаляемого элемента
chain [имя-цепочки] [[имя-шаблона-1] [имя-шаблона-2] ...]
- имя-цепочки -- имя создаваемой цепочки
- имя-шаблона -- имена шаблонов в порядке их следования
hist [имя-шаблона]
- имя-шаблона - имя шаблона
Шаблон сохраняется в файле имя-шаблона.crut
save [имя-шаблона]
- имя-шаблона - имя шаблона
Шаблон восстанавливается из файла имя-шаблона.crut
import [имя-шаблона]
- имя-шаблона - имя шаблона
quit
Выполняет команды из файла имя-файла.crus
run [имя-файла]
- имя-файла - имя скрипта