logo
Коды и шифры

Вскрытие книжного шифра

Предположим, что криптоаналитик понял, что шифрованный текст является результатом зашифрования английского текста с помощью книги на английском языке, взятой в качестве гаммы. Как бы он приступил к дешифрованию? Несмотря на то, что частоты встречаемости букв в шифрованном тексте, возможно, помогли ему придти к заключению об использовании книжного шифра, они не столь сильно отличаются от равновероятных, чтобы это ему помогло. Не помогут ему и диграфы, и т.п. Однако существует метод, по отношению к которому

Таблица 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  

Криптоаналитик не только дешифровал сообщение, но и выяснил, что в качестве гаммы используется книга либо о музыке, либо о Моцарте. Эта информация может оказаться полезной при дешифровании последующих сообщений.

Приведенный нами пример, несмотря на его краткость и простоту, показывает, что для достижения цели криптоаналитику необходимо владеть сочетанием аналитических и лингвистических навыков, иметь знания общего характера, а также богатое воображение и везение. И, кроме того, не надо забывать, что ему прежде всего нужно понять, что при зашифровании сообщения в качестве гаммы использовалась книга, а это не всегда легко установить.