- •1. Цель работы
- •Порядок выполнения работы
- •3. Теоретические сведения
- •3.1. Система шифрования Альберти
- •3.2. Шифр Тритемия
- •3.3. Шифр Гронсфельда
- •3.4. Система шифрования Вижинера
- •3.5. Шифр «двойной квадрат» Уитстона
- •3.6. Одноразовая система шифрования
- •3.7. Шифрование методом Вернама
- •3.8. Роторные машины
- •4. Варианты заданий
- •5. Оформление и порядок контроля результатов
- •6. Контрольные вопросы
- •Список рекомендуемой литературы
4. Варианты заданий
Во всех вариантах необходимо разработать программы для решения перечисленных в них задач. Все методы сложной замены успешно реализуются на алгоритмических языках с использованием массивов или списков. Большинство методов используют закольцовывающиеся (замкнутые) алфавиты, перемещение по которым целесообразно реализовать с помощью операции остаток от деления. Обрабатываемые сообщения, результаты шифрования и ключевые последовательности должны храниться в текстовых файлах.
Зашифровать и расшифровать русскоязычное сообщение со знаками препинания с помощью шифра Альберти (длина алфавита равна 35). Ключом (изменяемым параметром) является алфавит замены и начальный сдвиг алфавитов. Величина шага относительного сдвига фиксирована и равна 3.
Зашифровать и расшифровать русскоязычное сообщение с пробелами и без знаков препинания с помощью шифра Альберти. Ключом является алфавит замены, формируемый по ключевому слову, и величина шага относительного сдвига. Величина начального сдвига фиксирована и равна 4.
Зашифровать и расшифровать сообщение, содержащее любые символы кодовой таблицы ASCII, с помощью шифра Альберти. Алфавит замены должен быть сгенерирован случайным образом и сохранен в файле. Ключом является величина начального сдвига и величина шага относительного сдвига.
Зашифровать и расшифровать англоязычное сообщение, содержащее пробелы и знаки препинания (длина алфавита 30), с помощью шифра Альберти. Ключом является алфавит замены, который формируется по ключевому слову и величина шага относительного сдвига. Величина начального сдвига фиксирована и равна 5.
Зашифровать и расшифровать англоязычное сообщение с пробелами и без знаков препинания с помощью шифра Альберти. Ключом является алфавит замены, который формируется по ключевому слову и величина начального сдвига. Величина шага относительного сдвига фиксирована и равна 2. Сдвигать алфавит замены нужно после шифрования каждого слова.
Зашифровать и расшифровать русскоязычное сообщение со знаками препинания с помощью шифра Тритемия (длина алфавита равна 35). Ключом является алфавит замены, формируемый по ключевому слову.
Зашифровать и расшифровать русскоязычное сообщение с пробелами и без знаков препинания с помощью шифра Тритемия (длина алфавита равна 33). Ключом является алфавит замены, формируемый случайным образом.
Зашифровать и расшифровать англоязычное сообщение с пробелами и знаками препинания, с помощью шифра Гронсфельда. Реализовать двойное шифрование с двумя разными числовыми ключами.
Зашифровать и расшифровать сообщение, содержащее любые символы кодовой таблицы ASCII, с помощью шифра Гронсфельда. Реализовать тройное шифрование с двумя разными числовыми ключами (зашифровать с первым ключом, затем применить операцию расшифрования со вторым ключом и снова зашифровать с первым ключом).
Зашифровать и расшифровать сообщение, содержащее любые символы кодовой таблицы ASCII, с помощью шифра Вижинера. Длина ключа должна быть не менее 5 символов.
Зашифровать и расшифровать русскоязычное сообщение с пробелами и без знаков препинания с помощью шифра Вижинера. Реализовать двойное шифрование с двумя разными числовыми ключами. Длина каждого ключа должна быть не менее 7 символов.
Зашифровать и расшифровать англоязычное сообщение, содержащее пробелы и знаки препинания (длина алфавита 30), с помощью шифра Вижинера. Ключом является начальный алфавит замены, который формируется случайным образом и ключевое слово.
Зашифровать и расшифровать русскоязычное сообщение, содержащее пробелы и знаки препинания (длина алфавита 35) с помощью шифра Вижинера. Ключом является начальный алфавит замены, формируемый по ключевому слову, и ключевое слово метода Вижинера.
Зашифровать и расшифровать англоязычное сообщение, содержащее пробелы (длина алфавита 27), с помощью шифра Вижинера. Реализовать тройное шифрование с двумя разными ключевыми словами (зашифровать с первым ключом, затем применить операцию расшифрования со вторым ключом и снова зашифровать с первым ключом).
Зашифровать и расшифровать русскоязычное сообщение, содержащее пробелы и знаки препинания (длина алфавита 36) с помощью шифра «двойной квадрат» Уитстона. Ключом является порядок букв и число строк в таблицах.
Зашифровать и расшифровать англоязычное сообщение, содержащее пробелы и знаки препинания (длина алфавита 30) с помощью шифра «двойной квадрат» Уитстона. Ключом является порядок букв, задаваемый ключевыми словами, и число строк в таблицах.
Зашифровать и расшифровать русскоязычное сообщение, содержащее пробелы и знаки препинания (длина алфавита 35) с помощью шифра «двойной квадрат» Уитстона. Размер каждой таблицы 5х7. Ключом является порядок букв, задаваемый датчиком случайных чисел.
Зашифровать и расшифровать русскоязычное сообщение без пробелов и без знаков препинания (длина алфавита 32) с помощью шифра «двойной квадрат» Уитстона. Размер каждой таблицы 8х4. Ключом является: порядок букв, задаваемый ключевыми словами.
Зашифровать и расшифровать русскоязычное сообщение, содержащее пробелы и знаки препинания (длина алфавита 35) с помощью одноразовой системы шифрования. Ключом является большой фрагмент текста (не менее длины сообщения).
Зашифровать и расшифровать англоязычное сообщение, содержащее пробелы и знаки препинания (длина алфавита 30), с помощью одноразовой системы шифрования. Ключом является набор случайных цифр, общей длиной не менее длины сообщения, и начальная позиция в этом наборе.
Зашифровать и расшифровать англоязычное сообщение с пробелами и цифрами, и не содержащее знаков препинания, с помощью одноразовой системы шифрования. Ключом является набор случайных букв и цифр, общей длиной не менее длины сообщения.
Зашифровать и расшифровать сообщение, содержащее символы кодовой таблицы ASCII с помощью одноразовой системы шифрования. Ключом является набор случайных символов общей длиной не менее длины сообщения и начальная позиция в этом наборе.
Зашифровать и расшифровать сообщение, содержащее символы кодовой таблицы ASCII с помощью шифра Вернама. Ключом является набор случайных символов общей длиной не менее 10.
Зашифровать и расшифровать сообщение, содержащее символы кодовой таблицы ASCII с помощью шифра Вернама. Ключом является набор случайных битов общей длиной не менее 32.
Зашифровать и расшифровать англоязычное сообщение с пробелами с помощью шифра Вернама (5 бит на символ). Ключом является набор случайных букв латинского алфавита общей длиной не менее 10.
Зашифровать и расшифровать русскоязычное сообщение, содержащее пробелы, знаки препинания и цифры, с помощью шифра Вернама (6 бит на символ). Ключом является набор случайных битов общей длиной не менее 36.
Зашифровать и расшифровать русскоязычное сообщение без пробелов и знаков препинания с помощью шифра Вернама (5 бит на символ). Ключом является набор случайных ASCII символов общей длиной равной длине сообщения (при измерении в битах).
Зашифровать и расшифровать русскоязычное сообщение с пробелами с помощью имитатора роторной машины, которая состоит из двух дисков. При выборе ключа используется 5 дисков с различными заменами. Роторы вращаются по принципу одометра. Начальные позиции роторов могут изменяться.
Зашифровать и расшифровать англоязычное сообщение с пробелами (длина алфавита 27) с помощью имитатора роторной машины, которая состоит из трех дисков. Порядок установки дисков может изменяться. После шифрования каждого символа шаг перемещения третьего ротора – 1, второго – 2, первого – 5. Изначально роторы устанавливаются без смещения.
Зашифровать и расшифровать англоязычное сообщение с пробелами (длина алфавита 27) с помощью имитатора роторной машины, которая состоит из двух дисков. При выборе ключа используется 3 диска с различными заменами. После шифрования каждого символа шаг перемещения второго ротора – 4, первого – 7. Начальные позиции роторов могут изменяться.
Зашифровать и расшифровать русскоязычное сообщение с пробелами и знаками препинания с помощью имитатора роторной машины, которая состоит из двух дисков. Для второго диска являются запрещенными 3 позиции, которые входят в состав ключа. Роторы вращаются по принципу одометра. Первый диск устанавливается в начальную позицию со смещением 5, второй – со смещением 1.
Зашифровать и расшифровать русскоязычное сообщение с пробелами и знаками препинания (длина алфавита 35) с помощью имитатора роторной машины, которая состоит из трех дисков. Первый ротор вращается с шагом 6 после каждого полного оборота второго ротора. Второй и третий роторы вращаются по принципу одометра. Установка роторов в начальные позиции производится по буквам ключевого слова.
Зашифровать и расшифровать сообщение, состоящее из цифр и пробелов (длина алфавита 11), с помощью имитатора роторной машины, которая состоит из четырех дисков. Роторы вращаются по принципу одометра. Установка роторов в начальные позиции производится по цифрам четырехзначного числа.
Зашифровать и расшифровать сообщение, состоящее из цифр (длина алфавита 10), с помощью имитатора роторной машины, которая состоит из трех дисков. После шифрования каждого символа шаг перемещения третьего ротора – 1, второго ротора – 3, первого ротора – 7. Изначально роторы устанавливаются без смещения.
Зашифровать и расшифровать сообщение, состоящее из цифр, с помощью имитатора роторной машины, которая состоит из трех дисков. Для второго диска является запрещеной 1 позиция, для третьего – 3 позиции. Роторы вращаются по принципу одометра, но в разные стороны. Изначально роторы устанавливаются без смещения.
Зашифровать и расшифровать русскоязычное сообщение с пробелами и знаками препинания, с помощью имитатора роторной машины, которая состоит из двух дисков. После шифрования каждого символа второй ротор сдвигается на 1 позицию по часовой стрелке, второй ротор – на 3 позиции против часовой стрелки. Установка роторов в начальные позиции производится по цифрам двузначного числа.