Многоалфавитные шифры
В шифрах многоалфавитной замены, в отличие от описанных выше, для шифрования применяются несколько перемешанных алфавитов, поочередно используемых при замене букв исходного шифруемого сообщения.
К многоалфавитным шифрам относятся шифр Вижинера, шифр «Энигма», цилиндр Джефферсона и др. Использование шифра Вижинера, например, сводится к следующему. Множество, например, из 33 алфавитов (циклических сдвигов) русского языка формируется путем последовательного сдвига букв исходного алфавита, подобно рассмотренному выше шифру Цезаря.
Совокупность всех алфавитов, сведенных в одну таблицу, образует так называемую шифровальную таблицу Вижинера (рис. 5.16). При шифровании в этом случае также имеется кодовое слово, буквы которого определяют выбор конкретного алфавита, используемого при замене соответствующей буквы открытого текста. Процесс шифрования может быть описан, в данном случае, как суммирование номеров соответствующих друг другу букв открытого текста и ключевого слова по модулю 33.
Рассмотрим пример формирования шифра Вижинера для использованных выше информационного сообщения и ключевого слова, повторяющегося необходимое число раз.
Исходное сообщение разбивается на блоки с использованием ключевого слова «КОРЕНЬ», которое записывается над исходным открытым текстом 5 раз подряд (для нашего текста). Выбираем строку с алфавитом, который начинается с буквы К (первая буква ключевого слова) в первом столбце шифровальной таблицы Вижинера (см. рис 5.16). Первая буква шифрованного текста находится на пересечении этой строки и столбца таблицы, начинающегося с первой буквы открытого текста (первая строка таблицы), в данном случае это буква Т. Следующая буква шифротекста находится на пересечении строки таблицы, начинающейся со второй буквы ключевого слова — буквы О, и столбца, начинающегося со второй буквы открытого текста. Это буква — О. Аналогично производится шифрование остальных букв. В итоге, получается шифротекст, по количеству символов совпадающий с исходным открытым текстом:
ТОВЙСЬ ШУХЦЬН ЭЭЩЧЯЫ ТОТЧЮЬ ИАГЕЯЦ
Для облегчения процессов шифрования и расшифрования обычно используется специальная шифровальная линейка, состоящая из неподвижной и подвижной частей (рис. 5.17). При шифровании соответствующая
Рис. 5.16. Шифровальная таблица Вижинера для русского алфавита
ЗАСЕДА НИЕСОС ТОИТСЯ ЗАВТРА ЮСТАС
КОРЕНЬ КОРЕНЬ КОРЕНЬ КОРЕНЬ КОРЕНЬ
Рис. 5.17. Пример формирования шифра Вижинера с
использованием шифровальной линейки
буква ключевого слова, например первая — К, путем перемещения подвижной части устанавливается напротив буквы А неподвижной части линейки. В этом случае над соответствующей буквой открытого текста, расположенной на неподвижной части линейки, находится находящаяся на
подвижной части соответствующая буква шифротекста.
Для увеличения криптостойкости в шифре Вижинера может использоваться переменный ключ, в качестве которого применяется некоторый текст, заранее известный отправителю и получателю сообщения.