© Данная статья была опубликована в № 22/2007 журнала "Информатика" издательского дома "Первое сентября". Все права принадлежат автору и издателю и охраняются.      Главная страница "Первого сентября"
     Главная страница журнала "Информатика"
     Содержание № 22/2007
 В мир информатики # 98 (16-30 ноября). Перестановочный шифр


В мир информатики # 98 (16–30 ноября).
Криптография

Перестановочный шифр

В недавней статье [1] отмечалась ненадежность (сравнительная легкость расшифровки) подстановочных криптограмм — шифрованных текстов, основанных на замене исходных букв другими символами. Этот недостаток был замечен давно, и потому были разработаны и другие методы шифрования. Среди них важное место занимают перестановочные криптограммы. При их составлении весь текст разбивается на группы, состоящие из одинакового числа букв, и внутри каждой группы буквы некоторым образом переставляются. Если группа достаточно длинная (иногда это весь текст целиком), то число возможных перестановок очень велико, отсюда большое многообразие перестановочных криптограмм. Мы рассмотрим один тип перестановочной криптограммы, которая составляется при помощи так называемого “ключевого слова”. Буквы текста, который должен быть передан в зашифрованном виде, первоначально записываются в клетки прямоугольной таблицы, по ее строчкам. Буквы ключевого слова пишутся над столбцами и указывают порядок (нумерацию) этих столбцов способом, объясняемым ниже. Чтобы получить закодированный текст, надо выписывать буквы по столбцам с учетом их нумерации. Пусть текст таков: “В связи с создавшимся положением отодвигаем сроки возвращения домой. Рамзай5”. Используем для записи текста, в котором 65 букв, прямоугольную таблицу 11 ґ 6, в качестве ключевого возьмем слово из 6 букв запись, столбцы занумеруем в соответствии с положением букв ключевого слова в алфавите. В результате получится следующая кодовая таблица (см. рис. 1):

Рис. 1

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

ссшоидмвщомвсвпноеиадаязмомирзноавоилев

соемзздсжоговийииаяетакряр

Ключевое слово известно, конечно, и адресату, который поэтому без труда расшифрует это сообщение. Но для тех, кто этим ключом не владеет, восстановление исходного текста весьма проблематично (хотя в принципе и возможно). Частотный анализ здесь по вполне понятным причинам не решает задачи. В лучшем случае, поскольку частоты букв будут примерно такие, как в табл. 1 [1], он позволяет предположить, что было применено перестановочное кодирование.

Использование ключевого слова, конечно, не обязательно, можно было указать нумерацию столбцов цифровым ключом, в данном случае числом 214 356. Слово удобнее, если ключ надо хранить в памяти6 (что немаловажно для конспирации).

Задания для самостоятельной работы

1. Подумайте, нужно ли получателю шифровки, кроме ключевого слова, знать количество строк в кодовой таблице, для того чтобы разбить шифрограмму на части, соответствующие столбцам таблицы?

2. Расшифруйте следующий текст

метдллеснььсеенуютоизслшмечснояояч
жфрпткгщоаменруоероелтоитеаеобпви

если ключевое слово — модель.

3. Используя в качестве ключевого слово пакет, зашифруйте текст: “Подлинность документов полученных через агента Байтик подтверждаю Юстас”.

Литература

1. Частотный анализ. / “В мир информатики” № 20 (“Информатика” № 96/2007).


5 Рамзай — псевдоним советского разведчика Рихарда Зорге.

6 Своей, а не компьютера — :).