Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пз1.doc
Скачиваний:
2
Добавлен:
13.11.2018
Размер:
165.89 Кб
Скачать

3. Підставні шифри Цезаря, Виженера, Гронсфельда.

До нашей эры был придуман известный «Шифр Цезаря», который заключался в замене каждого символа в тексте на элемент, отстоящий от него в алфавите на фиксированное число позиций.

Этот шифр относится к моноалфавитным шифрам, в которых каждой букве кодируемого текста ставится в соответствие однозначно какая-то шифрованная буква.

Примером полиалфавитного шифра является шифр Виженера. Блез де Виженер предложил использовать в качестве ключа часть текста самого сообщения или же уже шифрованного сообщения. Принцип шифрования проще всего пояснить на примере. Итак, пусть ключом будет слово из трёх букв, например ABC. Сначала составляется таблица, называемая квадратом Виженера, которая выглядит следующим образом:

Допустим, что нам надо зашифровать некий текст, первым словом которого является слово DANCE. Зашифруем первые две буквы, а все остальные делаются аналогично. В графе «ключ» многократно повторяем слово ABC, в графе «открытый текст» приводим открытый текст, в графе «шифрованный текст» приводим зашифрованный текст:

Берём первую букву и смотрим, какая буква ключа находится над ней, а затем полученную букву ключа находим в первом столбце квадрата Виженера, а шифруемую букву в первой строке, затем смотрим, какая буква находится на пересечении полученной строки и столбца — она и будет зашифрованной буквой:

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

В этом случае получается, что длина ключа равна длине исходного текста, а значит периода у этого полиалфавитного шифра нет.

Расшифровывание текста, зашифрованного шифром Виженера, происходит абсолютно аналогично шифрованию.

Ещё одним примером полиалфавитного шифра является шифр Гронсфельда. Здесь, в отличие от предыдущего случая, используется числовой ключ, а сама схема очень напоминает шифр Цезаря. Пусть нам надо зашифровать слово EXALTATION. Например, берём в качестве ключа число 31415, затем составляем следующую таблицу:

Получается, что каждой букве соответствует некая цифра, это цифра будет показывать, на сколько позиций будет происходить смещение алфавита для каждой конкретной буквы. Например, покажем, как преобразуется буква E:

То есть букве E соответствует буква H. Таким образом, для всего слова получаем зашифрованный текст: HYEMYDUMPS. Обратное преобразование происходит подобным образом, только каждый раз сдвигаем алфавит в другую сторону.

Практическое задание №5

Исходные данные: Ключ «АБВ». Inf = «ПРИВЕТ». (РТЛГЗХ)

Задача: Зашифровать информационное сообщение шифром Вижинера. Расшифровать полученное сообщение.

По вариантам:

  1. Ключевое слово «ЭКЗАМЕН», Inf = «ВОЗДУХ»;

  2. Ключевое слово «КРПТОГРАФИЯ», Inf = «ТРАВМА»;

  3. Ключевое слово «ШИФРОВАНИЕ», Inf = «ЗАЩИТА»;

  4. Ключевое слово «МАТЕМАТИКА», Inf = «ЛЕКЦИЯ».

Практическое задание №6 (выполняется на ПЭВМ)

Исходные данные: информационное сообщение не менее 60 символов. Ключ не менее 5 символов (цифр).

Задача: Используя программную реализацию шифра Вижинера (Гронсфельда) зашифровать информационное сообщение. Расшифровать полученное сообщение. Обменяться с другими студентами зашифрованным сообщением и используя соответствующий ключ расшифровать его.

Задание для самостоятельной работы (с выставлением оценки). Разработать программную реализацию шифра Вижинера (Гронсфельда) и краткую инструкцию пользователя.