2. ШИФРЫ, ШИФРЫ. ШИФРЫ...

 

Приемов тайнописи — великое множество, и, скорее всего, это та область, где уже нет нужды придумы­вать что-нибудь существенно новое. Наиболее простой тип криптограмм — это так называемые подстановочные крип­тограммы. Составляя их, каждой букве алфавита сопостав­ляют определенный символ (иногда тоже букву) и при ко­дировании всякую букву текста заменяют на соответствую­щий ей символ. В рассказе «Золотой жук» Эдгара По при­водится как раз пример подстановочного шифра.

Автор рассказа наглядно демонстрирует, что расшиф­ровка подобных криптограмм не составляет большой про­блемы. Все основывается на том (за подробностями отсы­лаем читателя к оригиналу), что различные буквы естест­венного языка — английского, русского или какого-либо другого — встречаются в осмысленных текстах неодинако­во часто. Следовательно, то же самое верно для соответст­вующих им знаков. В еще большей мере это относится к буквосочетаниям из двух или нескольких букв: лишь некоторые из них часты, многие же вообще не употребля­ются.

Анализируя частоту появления тех или иных знаков я их сочетаний (именно так поступает герой Эдгара По), можно с большой уверенностью восстановить буквы зашиф­рованного текста. Даже если в каких-то частях текста воз­никает неоднозначность, она легко устраняется по смыслу. Этот метод (он именуется частотным анализом) основывает­ся, таким образом, на заранее известных частотах зашифро­ванных знаков. В следующей таблице указаны относитель­ные частоты букв русского языка.

Буквы «е» и «ё», а также «ь», «ъ» кодируются обычно одинаково, поэтому в таблице они не различаются. Как явствует из таблицы, наиболее частая буква русского язы­ка — «о». Ее относительная частота, равная 0,090, означа­ет, что на 1000 букв русского текста приходится в среднем 90 букв «о». В таком же смысле понимаются относительные частоты и остальных букв. В таблице 2 не указан еще один «символ» — промежуток между словами. Его относитель­ная частота наибольшая и равна 0,175.

С помощью таблицы 2 читатель сумеет, по-видимому, расшифровать такую криптограмму (расшифровку и пояс­нения см. в дополнении 1 на стр. 15):

Цярснсмщи ямякзж онкдждм мд снкыйн гкю онгрсямнб-

нцмщф йпзоснвпялл мн б гптвзф рктцяюф нм ркнемдд.Ненадежность подстановочных криптограмм (сравни­тельная легкость их расшифровки) была замечена уже дав­но, и потому в разное время предлагались различные дру­гие методы шифрования. Среди них важное место занимают перестановочные криптограммы. При их составлении весь текст разбивается на группы, состоящие из одинакового числа букв, и внутри каждой группы буквы некоторым образом переставляются. Если группа достаточно длинная (иногда это весь текст целиком), то число возможных пере­становок очень велико, отсюда большое многообразие пере­становочных криптограмм. Мы рассмотрим один тип пере­становочной криптограммы, которая составляется при помощи так называемого ключевого слова. Буквы текста, ко­торый должен быть передан в зашифрованном виде, перво­начально записываются в клетки прямоугольной таблицы, по ее строчкам. Буквы ключевого слова пишутся над столб­цами и указывают порядок (нумерацию) этих столбцов спо­собом, объясняемым ниже. Чтобы получить закодированный текст, надо выписывать буквы по столбцам с учетом их ну­мерации. Пусть текст таков: «В связи с создавшимся поло­жением отодвигаем сроки возвращения домой. Рамзай». Используем для записи текста, в котором 65 букв, прямо­угольную таблицу 11x6, в качестве ключевого возьмем слово из 6 букв «запись», столбцы занумеруем в соответст­вии с положением букв ключевого слова в алфавите. В ре­зультате получится следующая кодовая таблица:

 

Выписывая буквы из столбцов таблицы 3 (сначала из первого, затем из второго и т. д.), получаем такую шиф­ровку:

Ссшоидмвщомвсвпнееиадаязмомирзноавоилевсоемзздс-

жоговийииаяетакряр

Ключевое слово известно, конечно, и адресату, который поэтому без труда расшифрует это сообщение. Но для тех, кто этим ключом не владеет, восстановление исходного текста весьма проблематично (хотя в принципе и возможно). Частотный анализ здесь по вполне понятным причинам не решает задачи. В лучшем случае, поскольку частоты букв примерно такие, как в таблице 2, он позволяет предполо­жить, что было применено перестановочное кодирование.

Использование ключевого слова, конечно, не обязатель­но, можно было указать нумерацию столбцов цифровым ключом, в данном случае числом 214356. Слово удобнее, если ключ надо хранить в памяти (что немаловажно для конспирации).

Имеется ряд шифров, в которых совмещены приемы под­становочного и перестановочного кодирования. Шифр можно еще более усложнить, если дополнительно к этому каждую букву заменять не одним, а двумя или несколькими симво­лами (буквами или числами). Вот Пример. Расположим бук­вы русского алфавита в квадратной таблице 6x6 произ­вольным образом, например так, как в следующей таблице.

Каждую букву шифруем парой цифр: первая цифра это номер строки, в которой стоит данная буква, вторая — номер столбца. Например, букве «б» соответствует обозна­чение 21, а слову «шифр» — обозначение 51022304.

Еще большие трудности для крйптоанализа представ­ляет шифр, связываемый с именем Тритемцуса. Этот шифр

является развитием рассматриваемого в дополнении 2 кода Цезаря и состоит в следующем. Буквы алфавита нумеруют­ся по порядку числами 0, 1, ... , 30 (см. табл. 2). При шиф­ровании ключевое слово (или номера его букв) подписы­вается под сообщением с повторениями, как показано ниже: всвязиссоздавшимсяположениемотодвигаемсрокивозвра записьзаписьзаписьзаписьзаписьзаписьзаписьзаписьз щени ядомойр амзай аписьзаписьзапис

 

букву с номером

'если т+А<31) или букву с но­

Каждая буква сообщения «сдвигается» вдоль алфавита по следующему правилу: буква с номером т, под которой' стоит буква ключевого слова с номером к, заменяется на мером 1=т+к—31 (если т+&>31). Например, первая буква «в» сдвигается на 7 букв и заменяется буквой «й», следующая буква «с» остается без изменения и т. д. Таким образом, номер / кодирующей буквы вычисляется по фор­муле:

В цифровых обозначениях исходное сообщение и повто­ряемое ключевое слово запишутся в следующем виде:

После суммирования верхней и нижней строки по м0/1улю 31 получаем последовательность чисел:9.17.17.7.24.4.24.17.29.15.21.27.9.24.23.20.3.26.22.14.26, 22.23.1.20.8.20.20.0.14.21.4.17.16.20.27.12.12.1.24. 0. 6. 15.2.29.15.19.12.7.25.20.21.25.26.11. 14. 27. 22.26. 12. 7. 12.22.8 26.

Наконец, заменяя числа на буквы, приходим к закодиро­ванному тексту:

йссзшдшсюпхьйшчфгыцоыцчбфиффаохдсрфьммбшажпвю пумзщфхщылоьцымзмциы

Если ключевое слово известно, то дешифровка произво­дится безо всякого труда на основе равенства:

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

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

Задачи и дополнения

1. Для расшифровки криптограммы на стр. 11 под­считаем, сколько раз встречается в ней каждая буква. Результаты под­счета приведены в следующей таблице:

Таблица 6

 

Наиболее часто встречающийся символ «н» скорее г сего означает букву «о». Сделав такое предположение, рассмотрим следующий по ча­стоте символ «м». В криптограмме имеется двубуквенпое сочетание «мн», и так как «п» — это «о», то символ «м» соответству й г согласной.

 

Среди согласных в русском языке выделяются по частоте буквы <:т» и <сн» (см. табл. 2), и потому «м» скорее всего означает одну из этих букв. разберем случа когда «м» означает «н», предоставляя читателю само­стоятельно убедиться, что другая возможность не приводит к осмыслен­ной расшифровке криптограммы.

Если «м»—это «н», то в сочетании «мд», встречающемся в крип­тограмме, «Д» означает.скорее всего гласную. Из наиболее вероятных длЯ «Д» вариантов «а», «е», «и» выбираем «е», потому что лишь в этом слу­чае имеющееся в криптограмме слово «ркнемдд» допускает осмысленную расшифровку. Итак три знака разгаданы: «н» — это «о», «м» — «н», «д» — «е». Обращаемся к сочетанию «ямякзж». В нем «я» может означать ли(ць гласную «а» или «и». Любые другие возможности заЕедомо не допускают разумного прочтения слова «ямякзж». Испытаем букву «а». ПоДставляя вместо «я» букву «а», вместо «м» — «н», вместо других зна­ков — точки, получим недописанное слово «ана...». В словаре имеется всего лишь несколько слов из 6 букв с таким началом: «анализ», «ана­лога «ананас», «анатом». Из них годится лишь первое (почему?). Если вместо «я» подставить букву «и», то получится шестибуквенное сочетание с ^ачалом «ини», но в словаре нет ни одного такого слова. Расшифрова­ны ещс четыре буквы: «я», «к», «з», «ж» означают соответственно «а», «л». <<и>>- «3>>-

В слове «онкждм» известны все символы, кроме первого. Заменяя их буквами, получаем: «.олезен», Ясно, что неизвестная буква — это «п». Значит, «о» расшифровывается как «п».

Не разгаданы еще два сравнительно часто встречающиеся" знака «о» и Рассмотрим сочетание «ркнемдд», означающее «.ло.нее». Имеется немного вариантов его прочтения, один из них — «сложнее», и следовательно, скорее всего «р» — это «с», «е» — это «ж».

Из нерасшифрованных еще знаков чаще всего встречается «с». В соответствии с таблицей 2 среди оставшихся согласных наибольшую часТ0ТУ имеет «т»,. Естественно поэтому предположить, что «с» означа­ет «т».

Попытаемся восстановить зашифрованный текст, подставляя вместо разгаданных знаков соответствующие им буквы:

.астотн..анализ полезен не тол..о .л. по.стано.о.н.. ..ипто. а..

но        и. сл..а., он сложнее

Ясны (по контексту), по крайней мере, три слова: «.астотн..» озна­чает «частотный», «тол..о» — «только», «.л.» — «для». С учетом новой информации текст примет следующую форму:

Частотный анализ полезен не только для подстано.очны. к.ипто..а..

но . д...и. сл.чая. он сложнее

Окончательная расшифровка не представляет труда. Текст таков:

Частотный анализ полезен не только для подстановочных крипто­грамм, но в других случаях он сложнее

2. Шифр, примененный в предыдущем примере,— это так назы­ваемый шифр Цезаря. Он состоит в том, что весь алфавит сдвигается на определенное число букв вправо или влево. В данном случае был применен сдвиг влево на одну букву, т. е. каждая буква заменялась предшествующей буквой алфавита (при этом для буквы «а» предшеству­ющей считалась буква «я»). Для шифра Цезаря имеется более простой способ расшифровки — так называемый метод полосок. На каждую подоску наносятся по порядку все буквы алфавита, В криптограмме '■ерется некоторое слово, например, «онкдждм». Полоски прикладыва­ется друг к другу так, чтобы образовать данное слово (рис. 2). Двигаясь вдоль полосок, находим среди строк единственное осмысленное сочета­ние «полезен», которое и служит расшифровкой данного слова. Одновре­менно находим величину сдвига.

 

 

В качестве упражнения читателю рекомендуется расшифровать методом полосок следующую криптограмму, зашифрованную кодом Цезаря:

ЕИФИРРЛМ ФЕИХОЮМ ЗИРЯ НОСРОФВ Н ЕИЫИУЦ РСК- СЕЮИ ХЦЫНЛ ФХСВОЛ ЕЮФСНС Е ВФОСП РИДИ Л НГКГС- СЯ РИ ТОЮОЛ ПЛПС Г ЦШСЗЛОЛ Е ФГПЦБ ЖОЦДЯ ОГКЦУЛ.

Ответом служит первая фраза романа И. С. Тургенева «Дворян­ское гнездо».

3. Расшифруйте числовую криптограмму:

 

 

Ключ для расшифровки следующий. Разбейте числовую последо­вательность на двузначные числа. Вместо каждого числа надо подста­вить букву, стоящую на стр. 12 настоящей книги,— первая цифра числа указывает номер строки, в которой стоит искомая буква, а вто­рая — номер этой буквы в данной строке.

Это пример криптограммы, для составления и расшифровки которой используется некоторый заранее условленный текст, известный и от­правителю, и адресату.

4. Другим примером шифра, использующего заранее условленной текст, является так называемый шифр «бегущего ключа». При шифрова­нии по этому методу условленный текст накладывается на передавае­мый так же, как в шифре Тритемиуса.