4.3.2. Элементы криптоанализа шифров перестановки
Укажем сначала основные идеи, используемые при вскрытии вертикальных перестановок.
Заметим, что буквы каждого столбца заполненного прямоугольника выписываются в криптограмму подряд, то есть криптограмма разбивается на отрезки, являющиеся столбцами таблицы. Поэтому при дешифровании следует попытаться соединить две группы последовательных букв криптограммы так, чтобы они образовывали хорошие ("читаемые") с точки зрения обычного текста комбинации. Для этого естественно использовать наиболее частые биграммы открытого текста, которые можно составить из букв рассматриваемого шифрованного текста. Если для первой пробы выбрано, скажем, сочетание СТ (самая частая биграмма русского языка), то мы можем по очереди приписывать к каждой букве С криптограммы каждую букву Т из нее. При этом несколько букв, стоящих до и после данной буквы С, и несколько букв, стоящих до и после данной буквы Т, соединяются в пары, то есть получаются два столбца букв, записанные рядом:
…С … |
| …Т … |
I П
Конечно, мы не знаем длины столбцов, но некоторые ограничения на них можно получить, используя положение конкретных букв. Так, столбцы должны иметь одинаковые длины или первый столбец может быть длиннее второго на одну букву, и тогда эта буква – последняя буква сообщения.
Если приписываемые друг к другу буквы разделены, скажем, только двумя буквами, то, как легко видеть, мы можем составить в соседних столбцах не более трех пар, и длина каждого столбца не превышает четырех. Кроме того, ограничением может послужить появление запретной биграммы (например, гласная – мягкий знак).
Для выбранного сочетания СТ получается по одной паре столбцов для каждого конкретного выбора букв С и Т из криптограммы, и из них целесообразно отобрать ту пару, которая содержит наиболее частые биграммы.
Заметим, что при автоматизации этого процесса можно приписать каждой биграмме вес, равный частоте ее появления в открытом тексте. Тогда целесообразно отобрать ту пару столбцов, которая имеет наибольший вес. Кстати, появление одной биграммы с низкой частотой может указать на то, что длину столбца надо ограничить.
Выбрав пару столбцов, мы аналогичным образом можем подобрать к ним третий (справа или слева) и т.д. Описанная процедура значительно упрощается при использовании вероятных слов, то есть слов, которые могут встретиться в тексте с большой вероятностью.
Рассмотрим также метод, применимый к любым шифрам перестановки. Допустим, что к двум или более сообщениям (или отрезкам сообщений) одинаковой длины применяется один и тот же шифр перестановки. Тогда очевидно, что буквы, которые находились на одинаковых местах в открытых текстах, окажутся на одинаковых местах и в шифрованных текстах.
Выпишем зашифрованные сообщения одно под другим так, что первые буквы всех сообщений оказываются в первом столбце, вторые – во втором и т.д. Если предположить, что две конкретные буквы в одном из сообщений идут одна за другой в открытом тексте, то буквы, стоящие на тех же местах в каждом из остальных сообщений, соединяются подобным же образом. Значит, они могут служить проверкой правильности первого предположения, подобно тому, как комбинации, которые дают два столбца в системе вертикальной перестановки, позволяют проверить, являются ли соседними две конкретные буквы из этих столбцов. К каждому из указанных двухбуквенных сочетаний можно добавить третью букву для образования триграммы и т.д. Если располагать не менее чем четырьмя сообщениями одинаковой длины, то можно с уверенностью гарантировать их вскрытие подобным образом.
- Криптографическая защита информации
- Оглавление
- Раздел 1. Общие подходы к криптографической защите информации
- Тема 1. Теоретические основы криптографии
- 1.1. Криптография
- 1.2. Управление секретными ключами
- 1.3. Инфраструктура открытых ключей.
- 1.4. Формальные модели шифров
- 1.5. Модели открытых текстов
- Тема 2. Простейшие и исторические шифры и их анализ
- Тема 3. Математические основы криптографии
- 3.1. Элементы алгебры и теории чисел
- 3.1.1. Модулярная арифметика. Основные определения.
- 3.1.2. Алгоритм Евклида нахождения наибольшего общего делителя
- 3.1.3. Взаимно простые числа
- 3.1.4. Наименьшее общее кратное
- 3.1.5. Простые числа
- 3.1.6. Сравнения
- 3.1.7. Классы вычетов
- 3.1.8. Функция Эйлера
- 3.1.9. Сравнения первой степени
- 3.1.10. Система сравнений первой степени
- 3.1.11. Первообразные корни
- 3.1.12. Индексы по модулям рk и 2рk
- 3.1.13. Символ Лежандра
- 3.1.14. Квадратичный закон взаимности
- 3.1.15. Символ Якоби
- 3.1.16. Цепные дроби
- 3.1.17. Подходящие дроби
- 3.1.18. Подходящие дроби в качестве наилучших приближений
- 3.2. Группы
- 3.2.1. Понятие группы
- 3.2.2. Подгруппы групп
- 3.2.3. Циклические группы
- 3.2.4. Гомоморфизмы групп
- 3.2.5. Группы подстановок
- 3.2.6. Действие группы на множестве
- 3.3. Кольца и поля
- 3.3.1. Определения
- 3.3.2. Подкольца
- 3.3.3. Гомоморфизмы колец
- 3.3.4. Евклидовы кольца
- 3.3.5. Простые и максимальные идеалы
- 3.3.6. Конечные расширения полей
- 3.3.7. Поле разложения
- 3.3.8. Конечные поля
- 3.3.9. Порядки неприводимых многочленов
- 3.3.10. Линейные рекуррентные последовательности
- 3.3.11. Последовательности максимального периода
- 3.3.12. Задания
- Тема 4. Классификация шифров
- 4.1. Классификация шифров по типу преобразования
- 4.2. Классификация шифров замены
- 4.3 Шифры перестановки
- 4.3.1. Маршрутные перестановки
- 4.3.2. Элементы криптоанализа шифров перестановки
- 4.4. Шифры замены
- 4.4.1. Поточные шифры простой замены
- 4.4.2. Криптоанализ поточного шифра простой замены
- 4.4.3. Блочные шифры простой замены
- 4.4.4. Многоалфавитные шифры замены
- 4.4.5. Дисковые многоалфавитные шифры замены
- 4.5. Шифры гаммирования
- 4.5.1. Табличное гаммирование
- 4.5.2. О возможности восстановления вероятностей знаков гаммы
- 4.5.3. Восстановление текстов, зашифрованных неравновероятной гаммой
- 5.5.4. Повторное использование гаммы
- 4.5.5. Криптоанализ шифра Виженера
- Тема 5. Поточные шифры
- 5.1. Принципы построения поточных шифрсистем
- Примеры поточных шифрсистем
- 5.3. Линейные регистры сдвига
- 5.4. Алгоритм Берлекемпа-Месси
- 5.5. Усложнение линейных рекуррентных последовательностей
- 5.6. Методы анализа поточных шифров
- 6. Блочные шифры
- 6.1. Принципы построения блочных шифров
- 6.2. Примеры блочных шифров
- 6.3. Режимы использования блочных шифров
- 6.4. Комбинирование алгоритмов блочного шифрования
- 6.5. Методы анализа алгоритмов блочного шифрования
- 6.6. Рекомендации по использованию алгоритмов блочного шифрования
- 7. Криптографические хэш-функции
- 7.1. Функции хэширования и целостность данных
- 7.2. Ключевые функции хэширования
- 7.3. Бесключевые функции хэширования
- 7.4. Целостность данных и аутентификация сообщений
- 7.5. Возможные атаки на функции хэширования
- Тема 8. Криптосистемы с открытым ключом
- 8.1. Шифрсистема rsa
- 8.2. Шифрсистема Эль-Гамаля
- 8.3. Шифрсистема Мак-Элиса
- 8.4. Шифрсистемы на основе "проблемы рюкзака"