Криптоанализ шифра простой замены методом поиска наиболее вероятных слов

Пример 2.1

Шифр простої заміни

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

В следующем примере описана лишь часть перестановки , достаточная для данного открытого текста. Используется функция StringReplace пакета "Mathematica".

StringReplace["plaintext",

{ "a" -> "k", "e" -> "z", "i" -> "b", "l" -> "r",

"n" -> "a", "p" -> "v", "t" -> "q", "x" -> "d" }]

|| vrkbaqzdq

 

Более формальное описание системы простой замены состоит в следующем: пространством ключей является множество всех перестановок на множестве , а криптосистема определяется как

 

где

 

Функция дешифрования задается равенством , поскольку

 

В отличие от шифра Цезаря эта система свободна от такого недостатка, как слишком малое пространство ключей. Действительно, . Эта система дает великолепный пример того, как нельзя верить в надежность криптосистемы, основываясь лишь на том, что она имеет большое пространство ключей! Простой подсчет частот появления букв в шифровке и их сравнение с частотами букв из табл. 1.1 позволяет быстро найти образы относительно для большинства наиболее употребительных букв открытого текста. В самом деле, наиболее частая буква в криптограмме скорее всего окажется образом буквы при перестановке . Следующая по частоте будет образом буквы и т.д. После того как найдены прообразы наиболее частых букв криптограммы, нетрудно найти и остальные. Разумеется, чем длиннее криптограмма, тем легче ее расшифровать.

 

В следующем примере известен очень длинный шифртекст. Вообще говоря, для криптоанализа этого не требуется, но это необходимо, если мы хотим узнать весь ключ полностью. В самом деле, если длина шифртекста мала, то в нем может не встретиться какая-либо пара букв, и тем самым по нему невозможно полностью восстановить ключ, но, разумеется, для его расшифровки весь ключ и не нужен. Помимо известного шифртекста, приведенного в табл. 2.2, будем считать известным то, что в открытом тексте шла речь о "теории двусторонней связи" (по-английски "bidirectional communication theory"). Тогда расшифровка еще больше упрощается.

Таблица 2.2. Криптограмма, полученная простой заменой.

 

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

И на самом деле, видим, что подходящая строка трижды встречается в криптограмме. Отсюда извлекаем следующую информацию о перестановке

 

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

 

Если теперь применить полученную информацию ко всему шифртексту, то легко найти перестановку целиком. Например, начало текста имеет вид

 

что, очевидно, читается как

 

Это дает -образы букв и . Продолжая подобным образом, легко получить всю перестановку: