Введенные К.Шенноном функции ненадежности довольно резко стремятся к нулю. Поэтому с большой вероятностью можно говорить о точке, в которой решение криптограммы становится единственным. Найденное при этом число букв шифртекста No будем называть расстоянием единственности.
Рассмотрим множество сообщений длины N символов для данного
языка. Коэффициент языка длиной N определяется как
Избыточность языка с коэффициентом r определяется по формуле:
Для английского языка R=log2 26=4,7 бит на букву.
Тогда
Вычислим количество букв, необходимое для раскрытия сообщения, зашифрованного методом подстановки, в алфавите длиной L. Если все ключи равновероятны, то число возможных ключей равно L!. Тогда
буква | частота, % | буква | частота, % | буква | частота, % | ||
A | 8.1 | K | 0.4 | V | 0.9 | ||
B | 1.4 | L | 3.4 | W | 1.5 | ||
C | 2.7 | M | 2.5 | X | 0.2 | ||
D | 3.9 | N | 7.2 | Y | 1.9 | ||
E | 13.0 | O | 7.9 | Z | 0.1 | ||
F | 2.9 | P | 2.0 | ||||
G | 2.0 | R | 6.9 | ||||
H | 5.2 | S | 6.1 | ||||
I | 6.5 | T | 10.5 | ||||
J | 0.2 | U | 2.4 | ||||
Таблица 11 |
Из таблицы 11 видно, что Е - наиболее часто встречающаяся буква в английском языке, а Z - наиболее редкая.
Многие сообщения, зашифрованные методами перестановки или замены, сохраняют характерное частотное распределение букв и тем самым предоставляют возможность раскрытия шифра. Введем меру точности:
Для английского языка
MR= сум. (Pi-1/26)**2=сум.( Pi**2)-2/26+1/26=сум. Pi**2 -0.038=0.03
i=0..25
Общее число пар букв, которые могут быть выбраны из текста длиной N символов, есть
Пусть fi- частота i-й буквы в тексте; сум. fi=N
Тогда определим индекс соответствия Ic следующим образом:
Теоретическое значение для английского языка Ic=0,066. Если
шифр использует m алфавитов, то можно записать:
Ic=(1/m)*((N-m)/(N-1))*0,066+((m-1)/m)*(N/(N-1))*0,038.
Таким образом, шифртексты, для которых Ic>0,066, дают криптоаналитику информацию о том, что, вероятно, использовалась моноалфавитная замена. Если 0.052<=Ic<=0.066, то, вероятно, использовался двухалфавитный подстановочный шифр. Значения индексов соответствия для различного числа алфавитов приведены в таблице 12.
Процесс криптоанализа можно представить следующим образом.
Криптоаналитик берет наиболее часто встречающийся в шифртексте
символ и предполагает, что это пробел. Затем криптоаналитик берет
следующий наиболее часто встречащийся символ и предполагает, что
это Е (для английского языка), и т.д. Путем проб и ошибок такой
метод может привести к решению задачи. Кроме того, при
подставлении букв вместо символов анализируемого шифртекста
криптоаналитик учитывает частоты появления сочетаний из двух букв
(диаграмм), трех букв (триграмм) и т.д.
число алфавитов (m) | ожидаемый Ic (большие N) | ||||||
1 | 0.066 | ||||||
2 | 0.052 | ||||||
3 | 0.047 | ||||||
4 | 0.045 | ||||||
5 | 0.044 | ||||||
10 | 0.041 | ||||||
m>>10 | 0.038 | ||||||
Таблица 12 |
Одним из наиболее часто используемых приемов криптоаналитика является метод вероятных слов. Вероятные слова - это слова, части слов и выражения, которые можно ожидать в перехваченном шифртексте вследствие того, что они характерны для данного источника сообщений. В качестве вероятных слов можно рассматривать общеупотребительные слова или отдельные слоги, которые характерны для данного языка. Например, для английского языка можно использовать такие вероятные слова, как the, that, and, -tion и т.п. Предполагая, что некоторая часть шифртекста является вероятным словом, криптоаналитик получает часть ключа. Эта часть ключа используется для расшифровки других частей шифртекста и служит критерием согласованности. Если другие части шифртекста становятся понятными, то предположение, принятое при использовании вероятного слова, подтверждается. Естественно, что современные ЭВМ значительно усиливают мощь криптоаналитика.
Ход рассуждений криптоаналитиков при расшифровке моноалфавитной замены замечательно передан писателями Артуром Конан Дойлем в повести "Пляшущие человечки" и Эдгаром Аланом По в повести "Золотой жук".
Задача криптоаналитика значительно усложняется, если он имеет дело с равномерным распределением символов в шифртексте (Ic=0.038 для английского языка). Поэтому при построении шифров стремятся обеспечить равномерность символов шифртекста.