Вскрытие шифра.
Общие принципы взлома криптосистемы, когда ключ неизвестен, таковы. Исследуя шифрограмму убеждаемся, что частоты появления отдельных букв в ней (О, Е …) не изменились, они близки к средним частотам встречаемости букв в русском языке (частоты употребления букв приведены под заголовком «Разработка средств шифрования»). В то же время частоты пар букв (диграфов) отличаются от частот их встречаемости в русском языке. Это говорит о том, что применён не способ замены, а шифр перестановки.
Первая задача – определить длину ключа. Подсказкой является длина шифрограммы (в нашем примере 41 символ). По количеству букв видно, что таблица перестановки не была заполнена полностью ни буквами сообщения, ни буквами-пустышками (41 не раскладывается на множители без остатка). Раскладывая это число на множители, получим несколько возможных вариантов длины ключа. Здесь может помочь то, что две буквы, стоящие рядом в исходном сообщении, в шифрованном тексте будут отстоять друг от друга на число позиций кратное количеству строк в таблице (если только одна из букв не находится в конце одной строки, а другая – в начале следующей строки). Выбираем один из вариантов длины ключа, например 8 символов. Выписываем шифротекст подряд в 8 столбцов. Если длина ключа выбрана правильно, то буквы, стоящие рядом в открытом тексте, окажутся в одной строке. В каждой строке анализируем пары букв в разных сочетаниях, чтобы определить среди них наиболее вероятные диграфы. Наиболее часто встречающиеся в русском языке диграммы и их частоты следующие: ТО – 0,0814; НО – 0,0736; ПО – 0,0607; НИ – 0,0585; РО – 0,0578; РА – 0,0562; НА –0,0557; ЕН - 0,0539; КО – 0,0516; АЛ – 0,0477.
Отслеживая связи в парах, мы установим очерёдность следования букв в строках. Переставляем столбцы так, чтобы буквы в строках располагались в правильной (читаемой, смысловой) последовательности.
1.1.2. УСЛОЖНЁННАЯ ПЕРЕСТАНОВКА
УСЛОЖНЕНИЕ ПЕРЕСТАНОВКИ ПО ТАБЛИЦЕ заключается в том, что для записи символов шифруемого текста используется специальная таблица, в которую введены некоторые усложняющие элементы. В приложении № 10 приведен пример такой таблицы. Таблица представляет собой матрицу размерами 10´10 элементов (ячеек). Верхняя строка - это цифровой ключ: 2618305947. Ниже построчно записан шифруемый текст. Усложнение состоит в том, что определенное число клеток таблицы не используется (они заштрихованы или затушёваны). Количество и расположение неиспользуемых ячеек является дополнительным ключом шифрования. Процедура шифрования аналогична простой перестановке. Зашифрованный текст будет выглядеть так: ДОДПБРЕСЬОТМКОСМЕНВИ
ТУТЕЛСПТЫРСЕЕЫИРРТЖАФ.
Для расшифрования отсчитываем по порядку 41 клетку (количество букв в тексте), исключая затушёванные. Это покажет границы текста в таблице и определит количество букв в каждом столбце. Буквы зашифрованного текста вписываются в таблицу колонками в порядке следования цифр ключа. Исходный текст считывается по строкам.
Варьируя размерами таблицы, последовательностью символов ключа, количеством и расположением неиспользуемых клеток, можно получить требуемую стойкость зашифрованного текста.
С целью повышения надежности закрытия информации можно подготовить 7 вариантов таблиц перестановки, каждая из которых снабжена своим ключом. В каждый из дней недели будет использоваться соответствующая таблица. Пример использования таблиц показан в приложении № 11. В зависимости от дня недели сообщение будет иметь следующий вид:
Понедельник: ЕТЖСУТСРБЬООЫДОНП …
Вторник: УТСНПДЕТЫБОРЖЬООС …
Среда: БСЖДЕРПЬОТОЫУТОНС ...
……… : …………………………………
Эти таблицы можно использовать по-другому. Например, первые 17 букв текста шифруются по первой таблице, следующие 17 букв - по второй таблице и т. д.
Чтобы повысить стойкость шифра, можно применить двойную перестановку. Т.е., полученный после первой перестановки шифротекст, снова построчно записать в таблицу и выписать по столбцам. Повторная перестановка нарушает закономерности расположения диграфов в таблице. Ещё лучше, если для второй перестановки применить другой ключ (другие количество символов ключа и порядок их следования).
Усложнить перестановку также можно используя специальные таблицы. Например, построить прямоугольную таблицу со столбцами разной длины. В такой таблице диграфы открытого текста оказываются разнесёнными на разные расстояния, что затрудняет криптоанализ. Или построить ромбовидную таблицу. В ней и строки и столбцы разной длины, неполные.
1.1.3. ПЕРЕСТАНОВКА ПО РОМБОВИДНОЙ
ТАБЛИЦЕ.
В ромбовидной таблице все строчки и столбцы состоят из нечётного числа букв. Начинаясь с одной буквы, длина строки и столбца каждый раз увеличивается на 2, пока не достигнет некоторого определённого значения, а затем каждый раз уменьшается на 2, пока снова не достигнет единицы (рис.2). Такая таблица симметрична относительно центральной строки и центрального столбца. Процедура шифрования и расшифрования такая же, как перестановка по простой прямоугольной таблице.
Из-за разной длины столбцов буквы открытого текста, которые стояли рядом, теперь будут разнесены на разные расстояния. Это усложняет взлом шифра методом диграфов.
А | ||||||
Б | В | Г | ||||
Д | Е | Ё | Ж | З | ||
И | Й | К | Л | М | Н | О |
П | Р | С | Т | У | ||
Ф | Х | Ц | ||||
Ч |
Рис. 2. Ромбовидная таблица.
1.1.4. ПЕРЕСТАНОВКА ПО «УЛИТКЕ».
Исходный текст записывается в обычном порядке – слева направо, сверху вниз, построчно. В отличие от предыдущего метода здесь шифротекст выписывается из таб- лицы (из шифруемого блока символов) не колонками, а по спирали (метод улитки). Для этого таблица (текст) разбивается на квадратные фрагменты по 9 клеточек (3´3), как показано на рис. 3. В данном случае мы имеем два ключа. Первый ключ определяет размещение букв внутри фрагмента. Второй ключ определяет место (номер) каждого фрагмента внутри таблицы (блока), очерёдность выписывания из таблицы для шифрования и вписывания при расшифровании. Нумерация может начинаться как с центральной, так и с угловых клеток. Направление спирали может быть по часовой стрелке или против. В каждом фрагменте ключ может быть другим, что повысит стойкость шифра.
Рис. 3. Метод улитки
При шифровании выписываем каждые 9 букв по спирали согласно первого ключа и в очерёдности фрагментов, устанавливаемой вторым ключом. Таким образом, в зашифрованном тексте каждая группа из 9 букв будет расположена в порядке установленном вторым ключом.
Для расшифрования закрытый текст записывается группами по 9 букв в каждый фрагмент (каждая буква в очерёдности, определяемой первым ключом). Фрагменты заполняются в очерёдности, определяемой вторым ключом. Открытый текст считывается построчно.
Можно сказать, что этот способ является разновидностью венгерского кроссворда (филворда).
1.1.5. ПЕРЕСТАНОВКА НА ШАХМАТНОЙ ДОСКЕ.
Выбирается одна или несколько шахматных фигур. В данном случае – король, который может ходить на одну клетку прямо или по диагонали. Начиная условное движение фигурой с любой клетки по так называемой шахматной доске, пошагово ход за ходом (каждый ход показан стрелкой на схеме), можно получить много разнообразных схем (маршрутов), например, такую, как изображено в приложении № 12. Аналогом схемы-ключа может быть цифровой ключ-таблица, показанный в приложении № 13, где каждая клетка пронумерована. Оба ключа равноценны и показывают порядок размещения букв открытого или закрытого текста на «шахматной доске» (в таблице). В качестве ключа можно использовать таблицу соответствия, координаты каждой клетки. Клетка под номером 1 (см. прил. № 13) будет иметь координаты 7a, клетка под № 2 (вторая буква шифрограммы или открытого текста) – 8a, клетка (буква) под № 3 соответствует координатам 8b, клетка с номером 4 соответствует сочетанию 7b, …, клетка 64 обозначается сочетанием 2b. При использовании других «фигур» соседние буквы текста могут находиться не рядом друг с другом.
Для примера зашифруем сообщение «ОНИ ИЗГОТОВИЛИ УНИКАЛЬНУЮ СИСТЕМУ ПРОСЛУШИВАНИЯ ТЕЛЕФОННЫХ ПЕРЕГОВОРОВ», для чего запишем его на шахматной доске в обычном порядке, по строкам (см. приложение № 13). Буквы шифрограммы выписываем ориентируясь по схеме-ключу (приложение № 12), в последовательности установленной равноценным цифровым ключом (прил. № 13). Группируя символы шифротекста по четыре, получаем: «ООНВ ИИИЛ ИЗГУ НОТИ СПУМ ЬТАИ КСЛЕ НУЮР ВАЕФ ЕРВО РПЛИ ШЕХО ВЫТУ ЛСОН ОЕГО НЯИН».
Чтобы расшифровать, буквы криптограммы вписываем в таблицу в соответствии с ключом. Исходный текст получаем считыванием по строкам.
Возможен другой вариант. Буквы открытого текста записываются в клетки таблицы, ориентируясь по схеме-ключу или по цифровому ключу, а закрытый текст выписывается построчно или постолбцово. Дешифровка выполняется в обратном порядке.
Рассмотренная схема шифрования – вариант чайнворда.