1 | 2 | 3 | 4 | |
1 | A | 3 | Ю | Ж |
2 | E | с | Ш | |
3 | Г | T | о | О |
4 | И | П | Е | Р |
Перестановка строк
Рис. 3. Таблицы шифрования двойной перестановкой
Получается шифровка АЗЮЖЕ СШГГООИПЕР. Ключом к этому шифру служат номера столбцов 2413 и номера строк 4123 исходной таблицы. Число вариантов двойной перестановки тоже велико: для таблицы 3 х 3 их 36, для 4 х 4 их 576, а для 5x5 их уже 14400. Однако двойная перестановка очень слабый вид шифра, легко читаемый при любом размере таблицы шифрования.
После шифрования текст передается по открытым (для противника) каналам связи. Например, радиосвязи или по сети «Internet». При приеме сообщения его необходимо дешифровать. Для этого используется ключ, который передается или по секретным каналам связи или при личной встрече.
Ключ – столбцы 2413, строки 4123. Переставляя столбы и строки в порядке, записанном в ключе, получаем исходное сообщение «ПРИЕЗЖАЮ ШЕСТОГО».
Криптоанализ – раздел криптологии, изучающий методы «вскрытия» (определения ключа или сообщения). При этом криптологи считают, что алгоритм шифрования известен, а ключ нет. Необходимо определить текст перехваченной шифровки.
Была перехвачена радиограмма противника АЗЮЖЕ СШГТООИПЕР. Известно (разведчики взяли «языка»), что противник использует для шифрования метод двойной перестановки в таблице 4х4. Ключи шифрования после взятия «языка» были изменены, и дешифровать шифровку не удалось. Поэтому криптоаналитику необходимо вскрыть шифровку.
Сообщение АЗЮЖЕ СШГТООИПЕР укладывается в таблицу 4х4 (Рис.4).
1 | 2 | 3 | 4 | |
1 | A | 3 | Ю | Ж |
2 | E | с | Ш | |
3 | Г | T | 0 | 0 |
4 | И | П | E | P |
Рис. 4.Исходная таблица для «вскрытия» сообщения
Метод «вскрытия» шифров двойной перестановки основан на определении маловероятных сочетаний букв и нахождении на их основе истинной последовательности столбцов в шифровальной таблице.
Для расшифровки перехваченного сообщения необходимо определить вероятности следования двух букв разных столбцов и выбрать наиболее вероятную последовательность. Вероятность следования одного столбца за другим Рстолбца равна произведению вероятностей двухбуквенных комбинаций во всех n строках этих двух столбцов:
Рстолбца = Рстроки 1 · Рстроки 2 · … · Рстроки i · … · Рстрокиn.
Для упрощения счета используют формулу:
log Рстолбца = log Рстроки 1 + log Рстроки 2 + … + log Рстрокиn.
Более того, как и в статических алгоритмах эффективного кодирования, чаще используются не вероятности появления в текстах комбинаций из двух букв, не частоты встречаемости, а количество встретившихся двухбуквенных комбинаций в текстах.
Таким образом, для «вскрытия» сообщений, зашифрованных методом двойной перестановки принято [5] использовать логарифмы числа встретившихся в текстах двухбуквенных комбинаций F(), которые приведены в таблице №1.
Для таблицы, приведенной на рис.4, получим следующие значения.
При следовании за первым столбцом второго, получим:
F(1®2) =F(A3) + F(Е ) + F(ГТ) + F(ИП)=7+9+0+5=21.
При следовании за первым столбцом третьего получим:
F(1®3) =F(АЮ) + F(ЕС) + F(ГО) + F(ИЕ) =6+8+8+8=30.
При следовании за первым столбцом четвертого получим:
F(1®4) =F(АЖ) + F(ЕШ) + F(ГО) + F(ИР) =7+5+8+7=27.
Рассматривая все возможные варианты следования столбцов получим:
F(2®1) = F(ЗА) + F(_Е ) + F(ТГ) + F(ПИ) =8+7+1+7=23;
F(2®3) = F(ЗЮ) + F(_С) + F(ТО) + F(ПЕ) =0+9+9+8=26;
F(2®4) = F(ЗЖ) + F(_Ш) + F(ТО) + F(ПР) =1+5+9+9=24;
F(3®1) = F(ЮА) + F(СЕ) + F(ОГ) + F(ЕИ) =0+7+8+8=23;
F(3®2) = F(ЮЗ) + F(С_) + F(ОТ) + F(ЕП) =2+7+8+8=25;
F(3®4) = F(ЮЖ) + F(СШ) + F(ОО) + F(ЕР) =1+5+6+8=20;
F(4®1) = F(ЖA) + F(ШЕ) + F(ОГ) + F(РИ) =6+6+8+8=28;
F(4®2) = F(ЖЗ) + F(Ш_) + F(ОТ) + F(РП) =1+5+8+4=18;
F(4®3) = F(ЖЮ) + F(ШС) + F(ОО) + F(РЕ) =0+0+6+8=14.
На рис.5 приведен граф логарифмов частот следования столбцов друг за другом.
Таблица 1
Логарифмы числа встретившихся двухбуквенных комбинаций
А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ь | Ы | Ь | Э | Ю | Я | ||
А | 2 | 7 | 8 | 6 | 7 | 7 | 7 | 7 | 4 | 7 | 7 | 7 | 8 | 8 | 3 | 7 | 6 | 7 | 8 | 2 | 6 | 6 | 7 | 7 | 5 | 5 | 0 | 0 | 0 | 0 | 6 | 7 | 9 |
Б | 7 | 1 | 1 | 0 | 1 | 6 | 2 | 2 | 6 | 0 | 5 | 6 | 3 | 5 | 7 | 2 | 7 | 5 | 0 | 7 | 0 | 5 | 4 | 1 | 0 | 5 | 5 | 7 | 2 | 2 | 0 | 3 | 5 |
В | 8 | 0 | 5 | 0 | 4 | 8 | 0 | 3 | 7 | 1 | 6 | 7 | 5 | 6 | 8 | 4 | 6 | 6 | 6 | 6 | 0 | 3 | 0 | 1 | 3 | 0 | 0 | 8 | 2 | 0 | 0 | 4 | 8 |
Г | 6 | 0 | 1 | 1 | 6 | 5 | 0 | 0 | 6 | 0 | 4 | 5 | 4 | 4 | 8 | 0 | 7 | 0 | 0 | 6 | 0 | 0 | 1 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 |
Д | 8 | 1 | 6 | 3 | 4 | 8 | 1 | 0 | 7 | 0 | 4 | 7 | 1 | 7 | 8 | 4 | 6 | 5 | 2 | 7 | 1 | 3 | 3 | 3 | 4 | 0 | 0 | 6 | 4 | 0 | 4 | 5 | 7 |
Е | 5 | 5 | 6 | 7 | 8 | 6 | 6 | 6 | 4 | 7 | 7 | 8 | 8 | 9 | 6 | 5 | 8 | 8 | 9 | 3 | 3 | 6 | 5 | 6 | 5 | 6 | 0 | 0 | 1 | 1 | 5 | 5 | 9 |
Ж | 6 | 0 | 0 | 0 | 6 | 7 | 2 | 1 | 7 | 0 | 5 | 0 | 2 | 7 | 1 | 0 | 1 | 2 | 1 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 2 |
3 | 8 | 4 | 6 | 2 | 6 | 4 | 1 | 1 | 6 | 1 | 5 | 5 | 6 | 6 | 7 | 1 | 5 | 0 | 0 | 6 | 0 | 0 | 2 | 1 | 0 | 0 | 2 | 6 | 2 | 0 | 0 | 4 | 6 |
И | 6 | 6 | 7 | 6 | 6 | 8 | 5 | 7 | 7 | 7 | 7 | 6 | 8 | 8 | 5 | 5 | 7 | 8 | 8 | 1 | 5 | 7 | 7 | 7 | 6 | 3 | 0 | 1 | 0 | 0 | 6 | 7 | 9 |
И | 0 | 0 | 3 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 3 | 6 | 5 | 4 | 0 | 0 | 0 | 6 | 6 | 0 | 0 | 0 | 1 | 2 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 8 |
К | 8 | 1 | 5 | 1 | 1 | 6 | 5 | 2 | 7 | 1 | 2 | 7 | 0 | 5 | 8 | 0 | 7 | 6 | 6 | 7 | 0 | 0 | 6 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 7 |
Л | 8 | 4 | 1 | 2 | 1 | 8 | 6 | 1 | 8 | 0 | 4 | 4 | 1 | 6 | 7 | 0 | 0 | 3 | 3 | 6 | 3 | 0 | 0 | 3 | 1 | 1 | 0 | 6 | 8 | 0 | 7 | 8 | 6 |
М | 7 | 5 | 7 | 2 | 2 | 8 | 0 | 1 | 7 | 0 | 4 | 4 | 7 | 6 | 8 | 5 | 1 | 3 | 1 | 6 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 7 | 3 | 0 | 0 | 6 | 8 |
Н | 9 | 0 | 3 | 3 | 6 | 8 | 1 | 1 | 9 | 0 | 6 | 0 | 1 | 7 | 8 | 0 | 0 | 5 | 7 | 6 | 5 | 2 | 5 | 3 | 0 | 0 | 0 | 8 | 5 | 0 | 4 | 6 | 7 |
О | 2 | 8 | 8 | 8 | 8 | 6 | 7 | 7 | 6 | 8 | 7 | 8 | 8 | 7 | 6 | 7 | 8 | 8 | 8 | 3 | 2 | 5 | 6 | 7 | 6 | 5 | 0 | 0 | 1 | 5 | 2 | 5 | 9 |
П | 7 | 0 | 0 | 0 | 0 | 8 | 0 | 4 | 7 | 0 | 3 | 6 | 1 | 4 | 8 | 4 | 9 | 4 | 5 | 6 | 2 | 0 | 1 | 0 | 0 | 0 | 0 | 4 | 5 | 3 | 0 | 4 | 4 |
Р | 9 | 1 | 6 | 4 | 4 | 8 | 6 | 0 | 8 | 0 | 5 | 2 | 6 | 6 | 8 | 4 | 2 | 6 | 6 | 7 | 3 | 5 | 4 | 2 | 4 | 2 | 0 | 7 | 4 | 0 | 1 | 6 | 7 |
С | 6 | 4 | 6 | 2 | 5 | 7 | 2 | 0 | 7 | 0 | 7 | 8 | 6 | 6 | 8 | 7 | 5 | 6 | 9 | 6 | 3 | 5 | 1 | 5 | 5 | 0 | 0 | 5 | 6 | 1 | 3 | 8 | 7 |
Т | 8 | 2 | 7 | 1 | 4 | 8 | 0 | 0 | 8 | 0 | 6 | 4 | 5 | 6 | 9 | 3 | 8 | 8 | 4 | 6 | 0 | 0 | 0 | 4 | 0 | 2 | 1 | 7 | 8 | 0 | 1 | 5 | 8 |
У | 3 | 4 | 4 | 6 | 6 | 7 | 6 | 5 | 3 | 3 | 6 | 5 | 5 | 6 | 0 | 6 | 7 | 7 | 7 | 1 | 5 | 5 | 0 | 6 | 3 | 6 | 0 | 0 | 0 | 0 | 7 | 4 | 8 |
Ф | 6 | 0 | 0 | 0 | 0 | 5 | 0 | 0 | 6 | 0 | 0 | 2 | 2 | 0 | 6 | 0 | 4 | 0 | 3 | 5 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 2 |
Х | 4 | 3 | 3 | 0 | 0 | 4 | 0 | 0 | 3 | 0 | 1 | 1 | 0 | 5 | 6 | 0 | 5 | 3 | 1 | 3 | 0 | 0 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 8 |
Ц | 5 | 0 | 6 | 0 | 0 | 6 | 0 | 0 | 7 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 5 | 0 | 0 | 0 | 0 | 5 |
Ч | 7 | 0 | 1 | 0 | 0 | 8 | 0 | 0 | 7 | 0 | 6 | 1 | 0 | 6 | 2 | 0 | 1 | 0 | 7 | 3 | 0 | 0 | 0 | 1 | 3 | 0 | 0 | 1 | 3 | 0 | 0 | 0 | 4 |
Ш | 5 | 0 | 0 | 0 | 0 | 6 | 0 | 0 | 7 | 0 | 3 | 3 | 0 | 3 | 4 | 0 | 3 | 0 | 3 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0 | 0 | 0 | 5 |
Щ | 6 | 0 | 0 | 0 | 0 | 7 | 0 | 0 | 6 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 2 | 0 | 0 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0 | 1 | 0 | 1 |
Ъ | 0 | 0 | 0 | 0 | 0 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | O | O | O | O | O | O | O | O | O | O | O | O | O | 0 | 0 | 3 | 2 |
Ы | 1 | 4 | 7 | 3 | 5 | 7 | 1 | 5 | 1 | 7 | 5 | 5 | 6 | 2 | 1 | 5 | 5 | 5 | 6 | 0 | 0 | 7 | 0 | 5 | 4 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 8 |
Ь | 0 | 1 | 0 | 0 | 0 | 3 | 0 | 7 | 1 | 0 | 6 | 0 | 4 | 7 | 1 | 0 | 0 | 6 | 4 | 0 | 0 | 0 | 0 | 1 | 6 | 1 | 0 | 0 | 0 | 0 | 6 | 2 | 8 |
Э | 0 | 0 | 4 | 0 | 0 | 1 | 0 | 0 | 0 | 2 | 6 | 5 | 2 | 1 | 0 | 2 | 0 | 1 | 7 | 0 | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
Ю | 0 | 5 | 0 | 0 | 2 | 0 | 1 | 2 | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 7 | 0 | 0 | 0 | 0 | 6 | 1 | 7 | 0 | 0 | 1 | 0 | 3 | 0 | 7 |
Я | 0 | 1 | 5 | 2 | 5 | 6 | 2 | 5 | 0 | 2 | 2 | 3 | 6 | 5 | 0 | 1 | 4 | 4 | 7 | 0 | 0 | 4 | 4 | 3 | 0 | 4 | 0 | 0 | 0 | 0 | 6 | 4 | 9 |
7 | 8 | 9 | 7 | 8 | 7 | 5 | 8 | 8 | 3 | 8 | 6 | 8 | 9 | 9 | 9 | 8 | 9 | 8 | 7 | 7 | 6 | 7 | 8 | 5 | 1 | 1 | 2 | 1 | 8 | 2 | 6 | 0 |