Вскрытие книжного шифра
Предположим, что криптоаналитик понял, что шифрованный текст является результатом зашифрования английского текста с помощью книги на английском языке, взятой в качестве гаммы. Как бы он приступил к дешифрованию? Несмотря на то, что частоты встречаемости букв в шифрованном тексте, возможно, помогли ему придти к заключению об использовании книжного шифра, они не столь сильно отличаются от равновероятных, чтобы это ему помогло. Не помогут ему и диграфы, и т.п. Однако существует метод, по отношению к которому
Таблица 7.4. Частоты встречаемости букв в незашифрованном английском тексте и в книжном шифре
| частота (на 1000 знаков) | |
буквы | обычный английский текст | книжный шифр |
A | 64 | 31 |
B | 14 | 30 |
C | 27 | 29 |
D | 35 | 55 |
E | 100 | 40 |
F | 20 | 32 |
G | 14 | 39 |
H | 42 | 46 |
I | 63 | 34 |
J | 3 | 26 |
K | 6 | 36 |
L | 35 | 37 |
M | 20 | 45 |
N | 56 | 38 |
O | 56 | 28 |
P | 17 | 26 |
Q | 4 | 37 |
R | 49 | 46 |
S | 56 | 52 |
T | 71 | 38 |
U | 31 | 26 |
V | 10 | 39 |
W | 18 | 34 |
X | 3 | 32 |
Y | 18 | 25 |
Z | 2 | 52 |
Пробел и пр. | 166 | 47 |
Источник: данные в левом столбце взяты из [1.2, Приложение 2]; данные в правом столбце вычислены с помощью математических формул по данным левого столбца (подробнее см. M6).
книжный шифр уязвим - этот метод можно назвать "протяжка шаблона". Предположим, что либо сообщение, либо гамма содержит какое-нибудь распространенное английское слово, например THE. Оно суммируется с тремя буквами другого английского слова во втором тексте, в результате получаются три буквы шифрованного текста. Если мы попробуем вычитать THE из шифрованного текста во всех возможных местах и рассмотрим полученные триграфы, то среди них мы, возможно, обнаружим части английских слов, которые будут выглядеть вполне правдоподобно. Их, возможно, удастся восстановить, тем самым добавив во втором тексте еще несколько букв, стоящих до или после слова THE. Можно попробовать и другие частые триграфы. В случае удачи оба текста начнут, что называется, "открываться". Если буква X используется в качестве разделителя слов, то триграф THE можно расширить до THEX, или даже до XTHEX. Хотя, поступая таким образом, можно пропустить другое слово, например. THERE. Даже очень короткое слово, такое как A, может оказаться очень полезным, если оно встречается в составе триграфа XAX.
Если в гамме обнаружены какие-нибудь необычные слова, то с из помощью возможно, удастся определить тип использованной книги и даже идентифицировать саму книгу, что значительно облегчит дальнейший криптоанализ. На практике, возможно, первоначально удастся восстановить лишь части слов в обоих текстах; однако даже частичное восстановление может быть информативным, а последующие сообщения могут дать нам новые полезные "шаблоны". Проиллюстрируем этот метод на маленьком примере (всего 50 букв).
Пример 7.4
Следующие 10 групп зашифрованы с помощью книжного шифра. Используя прием "протяжки шаблона", попытаемся восстановить тексты гаммы и сообщения.
FLIQTáNYQFKáVACEHáUCUACáMOXRGáEYYQJáBNOEQ
FJXULáILREJáATVQB
В качестве шаблонов попробуем самые употребительные слова, первое из которых - слово THE. Протяжка шаблона является, несомненно, весьма трудоемкой процедурой, поскольку нам придется прикладывать шаблон ко всем возможным позициям в шифрованном тексте. Поскольку любая из проверяемых букв (в данном случае T,H и E) может встретиться и в других шаблонах, то мы в итоге сэкономим усилия, если сначала вычислим результирующие буквы открытого текста, вычитая из каждой буквы шифрованного текста сначала букву T, затем букву H, и наконец букву E. Если теперь мы подпишем три полученные строки "так называемого открытого текста" друг под другом, сдвинув первую строку (соответствующую букве T) на два знака вправо, а вторую строку (строку "H") - на один знак вправо относительно третьей строки (строки "E"), то в вертикальных трехбуквенных столбцах окажутся возможные варианты "слов", а именно:
Шифрованный
текст FLIQT NYQFK VACEH UCUAC MOXRG EYYQJ BNOEQ FJXUL ILREJ ATVQB
Строка T MSPXA UFXMR CHJLO BJBHJ TVEYN LFFXQ IUVLX MQEBS PSYLQ HACXI
Строка H YEBJMG RJYDO TVXAN VNTVF HQKZX RRJCU GHXJY CQNEB EKXCT MOJU
Строка E BHEMPJU MBGRW YADQY QWYIK TNCAU UMFXJ KAMBF TQHEH NAFWP RMX
Получилось несколько триграфов, которые выглядят правдоподобно, например:
MEE на 1-м месте,
ROW на 10-м месте,
ONY на 15-м месте,
BEE на 39-м месте,
PEN на 41-м месте.
Теперь попробуем расширить шаблон THE до THEX и посмотрим, даст ли это правдоподобный тетраграф в каком-нибудь из этих пяти случаев. Подставим букву X на 4-е, 13-е, 18-е, 42-е и 44-е места. Буквы шифрованного текста на этих местах равны, соответственно, Q, C, L и L, и мы расшифруем их, вычитая из них букву X, что фактически означает сдвиг каждой из этих букв на три позиции вперед по алфавиту. Результаты расшифрования равны, соответственно, T, F, X, O и H, поэтому мы получаем следующие тетраграфы:
MEET на 1-м месте,
ROWF на 10-м месте,
ONYX на 15-м месте,
BEEO на 39-м месте,
PENH на 41-м месте.
Первый из них выглядит наиболее правдоподобно, и мы сосредоточимся на его исследовании, отложив на время анализ остальных. Поскольку первое "попадание" слова THE встретилось на первой позиции, рассмотрим шифрованный текст, стоящий сразу за ним. Сначала рассмотрим первые 10 знаков. Предположительно получаем следующее:
Шифрованный текст FLIQTNYQFK
Текст 1 THEX.
Текст 2 MEET.
Первое слово в Тексте 2 может быть MEET, и если это так, то после него должен стоять разделитель, то есть буква X; либо первое слово может быть длиннее, например, MEETINGX. В первом случае пятая буква Текста 1 будет равна W; во втором случае буквы 5, 6, 7 и 8 в Тексте 1 будут равны (T‑I), (N-N), (Y-G) и (Q-X), то есть L, A, S и T, и похоже, что мы угадали, так как это значит, что Текст 1 начинается со слов
THE LAST.
Теперь мы предполагаем, что после LAST идет буква X, и в таком случае девятая буква Текста 2 равна (F-X), что дает нам I. Мы могли бы получить ее значение также из таблицы 7.3 (таблицы расшифрования, приведенной выше), найдя пересечение строки F (строка буквы шифрованного текста) со столбцом X (столбец предполагаемой буквы открытого текста в Тексте 1). Тогда первые 15 букв шифрованного и частично восстановленных открытых текстов выглядят следующим образом:
Шифрованный текст FLIQTNYQFKVACEH
Текст 1 THE LAST..
Текст 2 MEETING I.
Весьма вероятно, что в Тексте 2 за буквой I идет либо буква N, либо буква S. В обоих случаях после этой буквы, скорее всего, стоит буква X. Тогда соответствующие буквы в Тексте 1 - это либо (K-N) и (V-X), либо (K‑S) и (V-X), то есть либо XY, либо SY. Второй вариант выглядит правдоподобнее, поскольку в первом варианте получаются сдвоенные пробелы. В качестве предположения проставим в Тексте 2 диграф SX, и тогда в Тексте 1 получается SY. Теперь частично дешифрованный текст читается следующим образом:
Шифрованный текст FLIQTNYQFKVACEH
Текст 1 THE LAST SY..
Текст 2 MEETING IS ..
Наша следующая задача - выяснить, какая буква стоит сразу после SY в Тексте 1. Возможных вариантов немного, и наиболее вероятными являются буквы B, L, M, N и S. Поскольку на 12-ом месте шифрованного текста стоит буква A, то соответствующая буква в Тексте 2 в этих пяти случаях будет равна (A-B), (A-L), (A-M), (A-N) или (A-S), то есть Z, P, O, N или I. Из этих букв маловероятной кажется только Z, поэтому теперь перейдем к анализу других мест текста в надежде обнаружить какие-нибудь дополнительные подсказки. Возвращаясь к пяти предполагаемым случаям появления триграфа THE, заметим, что первый из них (на 1-й позиции) подтвержден, а второй (на 10-й позиции) отвергнут. Поэтому перейдем к третьему варианту (на 15-й позиции). Это дает нам THEX в одном из текстов (мы не можем сразу определить, в каком именно), и ONYX - в другом. Если THEX стоит на 15-м месте, то на 14-м месте должна стоять буква X, и поскольку соответствующая буква шифрованного текста равна E, то перед ONYX должна стоять буква, равная (E-X), то есть H. Тогда третьим словом в Тексте 1 будет
SY..HONY
и скорее всего, это слово SYMPHONY. Если это так, и поскольку 12-я и 13-я буквы шифрованного текста равны A и C, то в Тексте 2 им будут соответствовать буквы (A-M) и (C-P), то есть O и N, что выглядит вполне правдоподобно. Теперь фрагмент дешифрованного текста читается так:
Шифрованный текст FLIQTNYQFKVACEHUCUAC
Текст 1 THE LAST SYMPHONY ..
Текст 2 MEETING IS ON THE ..
Теперь рассмотрим два оставшихся места, где в одном из текстов предположительно встречается THEX, а именно места 39 и 41. Они явно несовместимы, поскольку частично перекрываются, и верным в лучшем случае может оказаться только один из этих вариантов. Мы располагаем дополнительной информацией: если в тексте встречается THEX, то перед ним должен стоять разделитель слов X. Поэтому вычтем X из букв шифрованного текста X и L, стоящих, соответственно, на 38-м и 40-м местах. Это дает нам буквы A и O в качестве букв открытого текста, и таким образом, мы получаем возможные пентаграфы открытого текста:
ABEEO на 38-м месте
OPENH на 40-м месте.
Первый из них не выглядит правдоподобно, второй - более вероятен. Поскольку речь идет о встрече (MEETING), то вполне возможно, что назначено место встречи. Даже не имея дополнительной информации, стоит попробовать слово COPENHAGEN, поскольку оно подходит к данному пентаграфу. Поэтому, подставляя букву C на 39-е место и буквы A, G, E, N и X - на места 45, 46, 47, 48 и 49, получим следующие тексты с 39-й по 49-ю позиции:
Шифрованный текст ULILREJATVQ
Текст 1 S THE JUPIT
Текст 2 COPENHAGEN
Это подтверждает нашу догадку, и к тому же, дает нам дополнительную полезную информацию: THE JUPITER*) - это название последней симфонии Моцарта, и можно ожидать упоминания его имени в Тексте 1 где-то между позициями 19 и 38. Более того, слову COPENHAGEN должен предшествовать разделитель, поэтому подставим в текст букву X. Учитывая, что буква шифрованного текста в данном случае также X, получаем букву A на 38-м месте Текста 1, который теперь читается так:
Текст 1 AS THE JUPITE
Поскольку речь идет о последней симфонии Моцарта, буква на 37-м месте вполне может быть W, и в этом случае на 36-м месте стоит буква X. Подставив эти буквы в шифрованный текст, получаем с 36 по 49 места следующий текст:
Шифрованный текст FJXULILREJATVQ
Текст 1 WAS THE JUPIT
Текст 2 IN COPENHAGEN
На 50-м месте в шифрованном тексте стоит буква B, которой должны соответствовать буква E в Тексте 1 и "пробел" в Тексте 2. И это действительно так, что является дополнительным подтверждением правильности дешифрования (если бы это потребовалось). Перед словом IN в Тексте 2 должен быть пробел, поэтому подставим сюда (на 35-е место) букву X. Здесь в шифрованном тексте стоит буква Q, что дает нам в Тексте 1 букву T. Итак, на данном этапе ситуация такова: текст дешифрован с 1 по 18 и с 35 по 50 позиции, то есть на две трети. Теперь шифрованный и открытые тексты выглядят так:
FLIQTNYQFKVACEHUCUACMOXRGEYYQJBNOEQFJXULILREJATVQB
THE LAST SYMPHONY T WAS THE JUPITE
MEETING IS ON THE IN COPENHAGEN
В Тексте 1 мы ищем слово MOZART, и буква T на 35-м месте вполне может быть последней буквой этого имени. Поэтому попробуем подставить XMOZAR на места с 29-го по 34-е, что дает нам TXNOON в Тексте 2. Букве T наверняка предшествует диграф XA, что дает нам BY в Тексте 1 на 27-м и 28-м местах. Теперь тексты читаются следующим образом:
FLIQTNYQFKVACEHUCUACMOXRGEYYQJBNOEQFJXULILREJATVQB
THE LAST SYMPHONY BY MOZART WAS THE JUPITE
MEETING IS ON THE AT NOON IN COPENHAGEN
Слову BY должна предшествовать буква X, что дает (E-X)=H в Тексте 2. Поскольку логично ожидать, что в тексте стоит дата проведения встречи, мы можем с полным основанием попробовать перед H букву T, что дает нам (G-T)=N на 25-м месте Текста 1. Теперь остается дешифровать только 6 букв. В Тексте 2 здесь почти наверняка стоит число. Скорее всего, это дата, которая в форме порядкового числительного оканчивается на TH. Числительное ELEVEN*) является наиболее вероятным кандидатом, так как в нем ровно 6 букв. Вычитая эти 6 букв из соответствующих букв шифрованного текста, ACMOXR, получаем в тексте 1 WRITTE. Дешифрование окончено. Полный текст читается следующим образом:
FLIQTNYQFKVACEHUCUACMOXRGEYYQJBNOEQFJXULILREJATVQB
THE LAST SYMPHONY WRITTEN BY MOZART WAS THE JUPITE
MEETING IS ON THE ELEVENTH AT NOON IN COPENHAGEN
Криптоаналитик не только дешифровал сообщение, но и выяснил, что в качестве гаммы используется книга либо о музыке, либо о Моцарте. Эта информация может оказаться полезной при дешифровании последующих сообщений.
Приведенный нами пример, несмотря на его краткость и простоту, показывает, что для достижения цели криптоаналитику необходимо владеть сочетанием аналитических и лингвистических навыков, иметь знания общего характера, а также богатое воображение и везение. И, кроме того, не надо забывать, что ему прежде всего нужно понять, что при зашифровании сообщения в качестве гаммы использовалась книга, а это не всегда легко установить.
- Глава 1. Введение 10
- Глава 9. Шифрмашина "Энигма" 130
- Глава 10. Шифрмашина "Хагелин" 152
- Глава 11. После "Энигмы" 172
- Глава 12. Криптография с открытым ключом 179
- Глава 13. Шифрование и Интернет 188
- Предисловие
- Глава 1. Введение Некоторые аспекты безопасности связи
- Шифр Юлия Цезаря
- Несколько основных определений
- Три этапа дешифрования: идентификация, взлом системы и вскрытие ключей.
- Коды и шифры
- Оценка стойкости системы шифрования
- Коды, обнаруживающие и исправляющие ошибки
- Другие методы сокрытия содержания сообщений
- Модульная арифметика
- Модульное сложение и вычитание букв
- Заключение
- Глава 2. От Юлия Цезаря до простой замены Шифры Юлия Цезаря и их вскрытие
- Шифры простой замены
- Вскрытие шифра простой замены
- Частоты встречаемости букв в других языках, кроме английского
- Сколько знаков необходимо для дешифрования простой замены?
- Глава 3. Многоалфавитные системы Усиление системы Юлия Цезаря: шифры Вижанэра
- Вскрытие шифра Вижанэра
- Индикаторы
- Одноключевые сообщения
- Распознавание одноключевых сообщений
- Какой объем текста необходим для дешифрования шифра Вижанэра?
- Цилиндр Джефферсона
- Глава 4. Шифры-головоломки
- Перестановки
- Простая перестановка
- Двойная перестановка
- Другие виды перестановок
- Регулярные перестановочные таблицы
- Нерегулярные перестановочные таблицы
- Оценка стойкости шифров перестановки
- Общая концепция двойного шифрования
- Глава 5. Двухбуквенные шифры
- Замена "монограф-диграф"
- Мдпм-шифры
- Система "диграф-диграф"
- Шифр Плейфера*)
- Расшифрование в системе Плейфера
- Криптоаналитические аспекты системы Плейфера
- Двойной шифр Плейфера
- Глава 6. Коды Характеристики кодов
- Одночастевые и двухчастевые коды
- Код плюс аддитивное шифрование
- Глава 7. Шифры для шпионов
- Шифры-решетки
- Книжные шифры
- Использование книжного шифра
- Частоты встречаемости букв в книжных шифрах
- Вскрытие книжного шифра
- Индикаторы
- Катастрофические ошибки при использовании книжного шифра
- Шифры "агента Гарбо"
- Первый шифр "агента Гарбо"
- Второй шифр "агента Гарбо"
- Одноразовый блокнот
- Глава 8. Получение случайных чисел и букв Случайные последовательности
- Получение случайных последовательностей
- Бросание монеты
- Бросание костей
- Извлечение из урны (по типу лотереи)
- Космические лучи
- Шум от усилителей
- Псевдослучайные последовательности
- Линейные рекурренты
- Использование последовательности двоичных знаков гаммы для шифрования
- Двоичные линейные последовательности как генераторы гаммы
- Криптоанализ линейной рекурренты
- Повышение стойкости двоичной гаммы
- Генераторы псевдослучайных чисел
- Метод срединных квадратов
- Линейные конгруэнтные генераторы
- Глава 9. Шифрмашина "Энигма" Историческая справка
- Первая "Энигма"
- Шифрование с использованием контактных колес
- Шифрование в "Энигме"
- Коммутатор "Энигмы"
- Ахиллесова пята "Энигмы"
- Цепочки индикаторов в "Энигме"
- Выравнивание цепочек
- Идентификация колеса r1 и его угловой установки
- Двойное шифрование в "Энигме"
- "Энигма" Абвера
- Глава 10. Шифрмашина "Хагелин" Историческая справка
- Конструкция шифрмашины «Хагелин»
- Шифрование при помощи шифрмашины "Хагелин"
- Выбор установок барабана в шифрмашине "Хагелин"
- Теоретический объем перебора для шифрмашины "Хагелин"
- Вскрытие установок "Хагелина" по отрезку гаммы
- Дополнительные возможности шифрмашины "Хагелин"
- Смещение
- Определение смещения по шифрованному тексту
- Перекрытия
- Вскрытие шифрмашины "Хагелин" только по шифрованному тексту
- Глава 11. После "Энигмы" sz42 - предтеча электронных машин
- Описание шифрмашины sz42
- Шифрование в машине sz42
- Вскрытие шифрмашины sz42 и определение ее угловых установок
- Модификации шифрмашины sz42
- Глава 12. Криптография с открытым ключом Историческая справка
- Вопросы безопасности
- Защита программ и данных
- Шифрование программ, данных и сообщений
- Задача распределения ключей
- Система ключевого обмена Диффи-Хеллмана
- Стойкость системы Диффи-Хеллмана
- Глава 13. Шифрование и Интернет Обобщение шифра простой замены
- Факторизация больших целых чисел
- Стандартный метод факторизации
- Малая теорема Ферма
- Теорема Ферма-Эйлера (для случая системы rsa)
- Ключи зашифрования и расшифрования в системе rsa
- Процессы зашифрования и расшифрования в системе rsa
- Каким образом хозяин ключей отвечает корреспондентам?
- Американский Стандарт Шифрования Данных (des)*)
- Общие сведения
- Процедура зашифрования
- Процедура расшифрования
- Стойкость des-алгоритма
- Зацепление
- Реализации des-алгоритма
- Совместное использование алгоритмов rsa и des
- Полезное замечание
- После des-алгоритма
- Проверка подлинности сообщения и удостоверение подлинности подписи
- Криптография эллиптической кривой
- Приложение. Математические вопросы Глава 2 м1. Совпадения знаков в алфавитах замены
- М2. Снижение стойкости при использовании взаимно-обратных алфавитов
- M3. Парадокс дней рождения
- Глава 3 м4. Евклидово доказательство бесконечности множества простых чисел
- Глава 6 м5. Последовательность чисел Фибоначчи
- Глава 7 м6. Частота встречаемости букв для книжного шифра
- М7. Одноразовый блокнот дешифровать невозможно
- Глава 8 м8. Частота появления случайных чисел на странице
- М9. Комбинирование двух последовательностей двоичных знаков гаммы, имеющих отклонения
- М10. Последовательность типа Фибоначчи
- М11. Двоичные линейные рекурренты
- M12. Восстановление двоичной линейной рекурренты по отрезку гаммы
- М13. Получение псевдослучайных чисел
- Глава 9 м14. Распайка колёс шифрмашины "Энигма"
- М15. Число возможных отражателей шифрмашины "Энигма"
- М16. Вероятность одноключевых сообщений для "Энигмы"
- М17. Среднее число индикаторов, необходимое для построения полных цепочек
- Глава 10 м18. Число возможных барабанов шифрмашины "Хагелин"
- М19. Максимальная кратность значения зацепления, которая может встретиться при вычислении разности гаммы шифрмашины "Хагелин"
- M20. Определение смещения шифрмашины "Хагелин" с помощью коэффициента корреляции
- Глава 13 m21. (Порядок роста количества простых чисел)
- M22. Вычисление остатка с использованием модульной арифметики
- М23. Доказательство теоремы Ферма-Эйлера
- М24. Нахождение чисел, "предположительно" являющихся простыми
- M25. Алгоритм Евклида
- М26. Эффективность возведения в степень методом последовательного возведения в квадрат
- М27. Число ложных ответов при дешифровании des-алгоритма методом "встречного поиска "
- М28. Криптография эллиптической кривой
- Решения задач Глава 2
- Глава 3
- Глава 4
- Глава 5
- Глава 6
- Глава 7
- Глава 8
- Глава 9
- Глава 10
- Глава 11
- Глава 13
- Литература
- Глава 1
- Глава 2
- Глава 3
- Глава 4
- Глава 5
- Глава 6
- Глава 7
- Глава 8
- Глава 9
- Глава 10
- Глава 11
- Глава 12
- Глава 13