- Написать программу, которая выполняет шифрование и дешифрование текстового файла любого размера, содержащего текст на заданном языке, используя следующие алгоритмы шифрования:
- два перестановочных шифра («столбцовый метод» и метод поворачивающейся решетки, использовать размер решетки 4х4), текст на английском языке;
- подстановочный шифр - алгоритм Виженера, самогенерирующийся ключ, текст на русском языке. Для всех алгоритмов ключ задается с клавиатуры пользователем.
- Cистема потокового шифрования и дешифрования для файла с любым содержимым с помощью генератора ключевой последовательности на основе линейного сдвигового регистра с обратной связью LFSR по формуле
x26 + x8 + x7 + x + 1
- Реализовать шифратор и дешифратор по алгоритму Рабина (алгоритм из методички) файла с произвольным содержимым, используя расширенный алгоритм Евклида и алгоритм быстрого возведения в степень при дешифрации. Значения параметров p, q и (в) задаются пользователем. Программа должна осуществлять проверку ограничений на вводимые пользователем значения параметров. Организовать вывод содержимого зашифрованного файла на экран в виде чисел в 10-й системе счисления. Результат работы программы – зашифрованный/расшифрованный файл/ы.
- Реализовать программное средство, выполняющее вычисление и проверку электронной цифровой подписи (ЭЦП) текстового файла на базе алгоритма RSA. Для вычисления хеш-образа сообщения использовать функцию 3.2 из методических материалов (стр.22, Н0=100). Числа p и q, а также закрытый ключ ввести с клавиатуры. В отдельное поле вывести полученный хеш сообщения в 10 с/cч. ЭЦП вывести как целое число. При проверке ЭЦП предусмотреть возможность выбора файла для проверки.