–PAGE_BREAK–1.2. Простой подстановочный шифр
Еще одним видом простого шифра являются подстановочные шифры. Они были одними из наиболее популярных шифров со Средних веков до 19-го столетия. В простых подстановочных шифрах вместо одной буквы алфавита подставляется другая. В более сложных подстановочных шифрах вместо одной группы букв подставляется другая.
Даже простые подстановочные шифры сложнее шифра Цезаря. Если вы сможете расшифровать одну букву в шифре Цезаря, то после этого расшифруете любую букву в нем. Но в случае с простым подстановочным шифром так не происходит. Ключом к простому подстановочному шифру является таблица соответствия буквам открытого текста букв зашифрованного текста. Этот ключ может быть представлен в виде 32-х-буквенной строки. Например: НАФЧЫРИЦЛЙЯДМЗСЪЖЩТПОКЭЬГЮЕУШВБХ
Число ключей для простого подстановочного шифра составляет 32!, а это больше чем 2,6*1035.
Алгоритм шифрования с использованием подстановочного шифра представлен в следующем листинге.
Листинг2. классSubstitutionCipher
На первый взгляд может показаться, что простой подстановочный шифр обладает высокой стойкостью, особенно потому, что у него огромное пространство ключей. Однако, он легко раскрывается методом, в котором применяются буквенные шаблоны, присущие конкретному языку.
В русском языке буквы О и Е встречаются значительно чаще других букв, таких, например, как Ъ и Ф. В таблице 1 приведены относительные частоты использования букв от А до Я, т.е. Ожидаемые числа использования этих букв в последовательности из 100 букв осмысленного текста. Это не означает, что среди 100 букв любого текста на русском языке буква В встретится всегда ровно 2 раза, а Ъ вообще не встретится. Но в среднем это действительно так.
Таблица 1. относительные частоты букв.
А
5,7
И
4,8
Р
2,9
Ш
0,5
Б
1,3
Й
0,7
С
3,7
Щ
0,3
В
3,0
К
2,1
Т
4,4
Ъ
0,0
Г
1,3
Л
3,4
У
1,9
Ы
1,4
Д
2,2
М
2,2
Ф
0,1
Ь
1,3
Е
5,8
Н
4,7
Х
0,6
Э
0,3
Ж
0,8
О
7,8
Ц
0,2
Ю
0,4
З
1,2
П
1,9
Ч
0,9
Я
1,4
Подобное распределение частот может быть найдено для диграфов (двухбуквенных комбинаций), триграфов (трехбуквенных комбинаций) и n-графов (n-буквенных комбинаций).
Это распределение частоты дает дешифровальщикам громадную информацию. Кроме распределения частот может быть использован словарь русской лексики, для автоматической проверки подстановочного отображения конкретной буквы. Например, однобуквенными словами в русском языке являются а, в, и, к и с. Дополнительно в распоряжении специалистов по криптоанализу имеется дополнительная информация, такая как частота слов и основные правила русской грамматики. Этого обычно оказывается достаточно для того, чтобы раскрыть простой подстановочный шифр.
Не всегда криптография и криптоанализ так просты, как в примерах из этой главы. Криптоанализ более сложных шифров требует более основательных знаний в области математики и теории передачи данных.
продолжение
–PAGE_BREAK–