Шифры и грехи отцов

Перед вами отрывок главы I части III романа Ярослава Гашека «Похождения бравого солдата Швейка во время мировой войны» в переводе П. Г. Богатырёва (отрывок сокращён и адаптирован для нужд задачи; сокращения в тексте специально не отмечаются):

«В штабном вагоне, где разместились офицеры маршевого батальона, с начала поездки царила странная тишина. Большинство офицеров углубилось в чтение небольшой книжки в полотняном переплёте, озаглавленной “Грехи отцов”, роман Людвига Гангофера. Все одновременно сосредоточенно изучали страницу сто шестьдесят первую. Командир батальона капитан Сагнер стоял у окна и держал в руке ту же книжку, открытую на той же сто шестьдесят первой странице.

Внимательно прочитав эту страницу, офицеры ничего не поняли. На сто шестьдесят первой странице какая-то Марта подошла к письменному столу, взяла оттуда какую-то роль и громогласно высказала мысль, что публика должна сочувствовать страданиям героя пьесы; потом на той же странице появился некий Альберт, который без устали острил. Но так как остроты относились к предыдущим событиям, они казались такой ерундой, что поручик Лукаш со злости перекусил мундштук.

Обдумав всё как следует, капитан Сагнер отошёл от окна. Большим педагогическим талантом он не обладал, поэтому у него много времени ушло на то, чтобы составить в голове план лекции о значении страницы сто шестьдесят первой.

— Итак, господа! — И Сагнер принялся читать лекцию о том, что вчера вечером он получил от полковника инструкцию касательно страницы сто шестьдесят первой в “Грехах отцов” Людвига Гангофера.

— Я уже упоминал о новом способе шифровки полевых донесений. Вам, вероятно, казалось непонятным, почему полковник рекомендует читать именно сто шестьдесят первую страницу романа Людвига Гангофера “Грехи отцов”. Это, господа, ключ к новой шифровальной системе, введённой согласно новому распоряжению штаба армейского корпуса, к которому мы прикомандированы. Как вам известно, имеется много способов шифровки важных сообщений в полевых условиях. Самый новый метод, которым мы пользуемся, — это дополнительный цифровой метод. Тем самым отпадают вручённый вам на прошлой неделе штабом полка шифр и ключ к нему.

— Новая система необычайно проста, — разносился по вагону голос капитана. — Я лично получил от господина полковника второй том и ключ. Если нам, например, должны будут передать приказ: “На высоте 228 направить пулемётный огонь влево”, — то мы, господа, получим следующую депешу: “вещь — с — нами — это — мы — посмотреть — в — эта — обещали — эта — Марта — себя — это — боязливо — тогда — мы — Марта — мы — этого — мы — благодарность — блаженно — коллегия — конец — мы — обещали — мы — улучшили — обещали — действительно — думаю — идея — совершенно — господствует — голос — последние”».

Задача

Вполне реальный и написанный по-немецки роман Людвига Гангофера «Грехи отцов» (Die Sünden der Vӓter) мы заменили на такой вымышленный ключ:

Шифры и грехи отцов

Используя этот ключ, депешу «Огонь» мы могли бы зашифровать так: «установить — двадцатого — карт — и — современного».

Задание 1. Расшифруйте при помощи этого ключа такую депешу: «региона — экспедиция — видят — современных — данными — начала — войны — участии — этого — решили — двух — числа — современного — мировой — региона — с — данными».

Задание 2. Сколько вариантов шифровки приказа «Огонь» можно составить для данного ключа?


Подсказка

«— Это исключительно просто, без всяких излишних комбинаций. Из штаба по телефону в батальон, из батальона по телефону в роту. Командир, получив эту шифрованную депешу, расшифрует её следующим способом: берём “Грехи отцов”, открываем страницу сто шестьдесят первую и начинаем искать сверху на противоположной странице сто шестидесятой слово “вещь”».

Решение

«— Это исключительно просто, без всяких излишних комбинаций. Из штаба по телефону в батальон, из батальона по телефону в роту. Командир, получив эту шифрованную депешу, расшифрует её следующим способом: берём “Грехи отцов”, открываем страницу сто шестьдесят первую и начинаем искать сверху на противоположной странице сто шестидесятой слово “вещь”. Пожалуйста, господа! В первый раз “вещь” встречается на странице сто шестидесятой по порядку фраз пятьдесят вторым словом, тогда на противоположной сто шестьдесят первой странице ищем пятьдесят вторую букву сверху. Заметьте себе, что это “н”. Следующее слово в депеше — это “с”. На странице сто шестидесятой это — седьмое слово, соответствующее седьмой букве на странице сто шестьдесят первой, букве “а”. Потом идёт “нами”, то есть, прошу следить за мной внимательно, восемьдесят восьмое слово, соответствующее восемьдесят восьмой букве на противоположной, сто шестьдесят первой странице. Это буква “в”. <...>. И так продолжаем, пока не расшифруем приказа: “На высоте двести двадцать восемь направить пулемётный огонь влево”. Очень остроумно, господа, просто, и нет никакой возможности расшифровать без ключа сто шестьдесят первой страницы “Грехов отцов” Людвига Гангофера».

Задание 1. Правильный ответ: «Быстро сварить обед». Для удобства его можно представить в виде таблицы:

б 39 региона с 9 войны ь 64 современного
ы 28 экспедиция в 30 участии о 8 мировой
с 62 видят а 20 этого б 39 региона
т 79 современных р 3 решили е 70 с
р 71 данными и 31 двух д 78 данными
о 40 начала т 53 числа

Каждой букве правой страницы ключа присваивается номер, которому соответствует слово левой страницы разворота. Словом для применения такого метода считается последовательность символов алфавита, отделённая от других пробелами. Следует отметить, что за одной буквой не закреплено единственное слово, так же как одному слову не соответствует единственная буква, поэтому, например, слово «и» может обозначать как букву «н», так и букву «а», а слово «данными» — «р» или «д».

Для того чтобы сократить ключ и сделать решение задачи не таким утомительным, в его правой части мы использовали панграмму «Аэрофотосъёмка ландшафта уже выявила земли богачей и процветающих крестьян» — такое предложение, которое содержит в себе все буквы алфавита того языка, на котором оно составлено.

Задание 2. Поскольку между буквами правой страницы и словами левой нет взаимно-однозначного соответствия, чтобы наиболее полно ответить на вопрос задания 2, следует составить таблицу всех слов (их номеров), которые могут обозначать буквы слова «огонь»:

о (2 раза) г н ь
4 установить 41 двадцатого 17 Восточной 64 современного
6 события 66 и
8 мировой 69 сопоставление
40 начала 72 австрийских
49 а
73 карт
82 такими

Соответственно, количество комбинаций и способов представить слово «огонь» — 7×1×7×4×1 = 196. Естественно, чем больше способов в шифре представить один и тот же символ, тем сложнее такой шифр декодировать.


Послесловие

«Все молча посмотрели на злосчастные страницы и задумались. На минуту воцарилась тишина, и вдруг кадет Биглер озабоченно вскрикнул:

— Господин капитан, осмелюсь доложить... Иисус Мария! Не получается!

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

— Господа! — неловко замялся капитан Сагнер, убедившись, что кадет Биглер прав.— В чем дело? В моих «Грехах отцов» Гангофера всё это есть, а в ваших нет?

— С вашего разрешения, капитан, — отозвался опять кадет Биглер, — позволю себе обратить ваше внимание на то, что роман Людвига Гангофера в двух томах. Соблаговолите убедиться: на первой странице написано «Роман в двух томах». У нас первый том, а у вас второй, — развил свою мысль дотошный кадет. — Поэтому ясно как день, что наши сто шестидесятая и сто шестьдесят первая страницы не совпадают с вашими. У нас совершенно иной текст. Первое слово депеши у вас должно бы получиться «на», а у нас выходит «до»!

Теперь все обнаружили, что Биглер не так уж глуп».

Интересно, что сам Ярослав Гашек, по всей видимости, запутался в страницах 160 и 161 первого и второго томов романа «Грехи отцов» (этим наблюдением мы обязаны Александру Пиперски). Марту, письменный стол и всё прочее, что описано в «Похождениях...», действительно находим на с. 161 первого тома, который читают озадаченные офицеры. Однако на том же развороте, то есть на с. 160 первого тома, седьмым по счёту идёт немецкое «mit», то есть «с», а ведь это слово должно было быть на с. 160 во втором томе, который держит в руках капитан Сагнер. Кроме того, в депеше, которую в качестве примера цитирует Сагнер, упомянута пресловутая Марта, однако на с. 160–161 во втором томе, находящемся в руках у Сагнера, никакой Марты нет и в помине. Впрочем, слова «вещь» («Sache») в нужном положении нет вообще ни на одном из разворотов в доступных изданиях «Грехов...». Возможно, конечно, что у Гашека было в распоряжении другое издание, но и тогда появление Марты во втором томе в депеше Сагнера объяснить с его помощью сложно. Не исключено, однако, что Гашек преднамеренно устроил такую путаницу, чтобы представить всё положение ещё более абсурдным.

Шифр, который безуспешно пытаются применить капитан Сагнер и господа офицеры, принадлежит к классу книжных шифров (он, в свою очередь, представляет собой частный случай шифра подстановки — таких систем засекречивания текста, в которых каждому элементу открытого текста при помощи ключа ставится в соответствие элемент или указатель элемента закрытого, шифрованного текста). В случае, который описывает Гашек, открытый текст, то есть исходное незашифрованное сообщение, — депеша «На высоте двести двадцать восемь направить пулемётный огонь влево», а закрытый текст — последовательность «вещь — с — нами...», которая передаётся по каналам связи. Для того чтобы расшифровать передаваемый текст, нужно иметь ключ, то есть роман Людвига Гангофера «Грехи отцов» (точнее, второй его том), и знать правила, позволяющие соотнести открытый и закрытые тексты. Все подобные шифры являются симметричными: для кодирования и декодирования послания необходим один и тот же ключ, в отличие от ассиметричного шифрования, при котором используются два ключа — ключ кодирования и ключ декодирования. Изучением способов шифрования, методов их взлома и усовершенствования занимается наука криптология (от греч. κρυπτός ‘скрытый’ и λόγος ‘слово’), которая включает в себя криптографию — науку о создании шифров и криптоанализ — науку об их декодировании.

Преимуществом книжного шифра является простота его подготовки (нет необходимости создавать ключ), однако, разумеется, такой шифр уязвим для классических методов криптоанализа. Простейший из них реализован при решении этой задачи — имея доступ к ключу и одной паре открытого и закрытого текста, можно восстановить алгоритм шифрования. Шифр можно взломать и без доступа к конкретной книге, пользуясь, к примеру, методами частотного анализа (он же частотный криптоанализ), особенно если при кодировании для обозначения одной и той же буквы часто используется один и тот же код: частотный криптоанализ основывается на положении, что частоты букв и их сочетаний в текстах на том или ином языке, а значит, и вероятности появления этих букв и сочетаний в зашифрованном тексте, подчиняются статистическим закономерностям, и по частотам появления символов замены можно восстановить исходные символы зашифрованного текста. Для шифрования книжным методом часто используются легко доступные и распространённые книги: словари, Библия, в повести Артура Конан Дойля «Долина ужаса» — альманах Уитакера (Whitaker's Almanack), а у Гашека — «Грехи отцов» (том второй, хотя и по первому наверняка что-нибудь да получилось бы).

«— Я получил второй том в штабе бригады, — сказал капитан Сагнер. По-видимому, произошла ошибка. Полковник заказал для вас первый том. Очевидно, — продолжал он таким тоном, словно для него всё было ясно и просто ещё задолго до начала лекции о чрезвычайно удобном способе шифровки, — в штабе бригады перепутали. В полк не сообщили, что дело касается второго тома, и вот результат.

Кадет Биглер обвёл всех торжествующим взглядом.

— Странный случай, господа, — снова начал капитан Сагнер, желая завязать разговор и рассеять удручающее молчание. — В канцелярии бригады сидят ограниченные люди.

— Позволю себе подчеркнуть, — перебил его неутомимый кадет Биглер, которому снова захотелось похвастаться своим умом, — подобные вещи секретного, строго секретного характера не должны были идти из дивизии через канцелярию бригады. Дела армейского корпуса, являющиеся секретными, сугубо секретными, должны передаваться сугубо секретным циркуляром только командирам частей, дивизий и бригады. Мне известны системы шифров, которыми пользовались во время войн за Сардинию и Савойю, во время англо-французской осады Севастополя, во время боксёрского восстания в Китае и во время последней русско-японской войны. Системы эти передавались...»

По всей видимости, сцена, которую описывает Гашек, не была совсем уж оторвана от реальности: известны случаи использования книжных шифров во время Первой мировой войны немецкими войсками: так, русскими войсками после крушения немецкого военного крейсера «Магдебург» были перехвачены сигнальные книги, позволившие дешифровать немецкие радиограммы в Балтийском море.

Как сообщает А. В. Синельников в книге «Шифры и революционеры России», аналогичные шифры применялись революционными организациями, действовавшими на территории Российской империи. Например, социал-демократ В. Н. Катин-Ярцев вспоминал: «Шифровали так: положим ключом к шифру будет стихотворение:

Птичка божия не знает
Ни заботы, ни труда,
Хлопотливо не свивает
Долговечного гнезда.

Предстоит зашифровать фразу: «Пётр арестован». Первая буква первой строки — «П», обозначаем 1/1, где числителем будет строка, знаменателем — порядок букв в этой строке. Для «Е» мы можем взять, например, тринадцатую букву первой строки или двенадцатую третьей и т. д. Рекомендовалось вносить побольше разнообразия, заимствуя букву из разных мест ключа, чтобы затруднить для посторонних специалистов расшифрование написанного». По такой же схеме в начале XX века переписывался со своими корреспондентами В. И. Ульянов: так, в переписке с петербургским «Союзом борьбы за освобождение рабочего класса», который одно время возглавлял Катин-Ярцев, в качестве ключа было установлено стихотворение Некрасова «Маша». Однако система стала довольно быстро известна полиции, а поскольку выбор стихотворных ключей у революционеров не отличался большим разнообразием, а состоял преимущественно из произведений гимназической программы, то случаи расшифровки перехваченных сообщений случались неоднократно.

«— Плевать нам на это, кадет Биглер, — с выражением презрения и неудовольствия прервал его капитан Сагнер. — Несомненно одно: система, о которой шла речь и которую я вам объяснил, является не только одной из лучших, но, можно сказать, одной из самых непостигаемых. Все отделы контрразведки вражеских штабов теперь могут заткнуться, они скорее лопнут, чем разгадают наш шифр. Это нечто совершенно новое. Подобных шифров ещё никогда не бывало.

Дотошный кадет Биглер многозначительно кашлянул.

— Позволю себе обратить ваше внимание, господин капитан,— сказал он, — на книгу Керкгоффса о военной шифровке. Книгу эту каждый может заказать в издательстве Военного научного словаря. Там подробно описывается, господин капитан, метод, который вы нам только что объяснили. Изобретателем этого метода является полковник Кирхнер, служивший при Наполеоне Первом в саксонских войсках. Это, господин капитан, метод Кирхнера, метод шифровки словами. Каждое слово депеши расшифровывается на противоположной странице ключа. Метод был усовершенствован поручиком Флейснером в его книге «Руководство по военной тайнописи», которую каждый может купить в издательстве Военной академии в Винер-Нойштадте. Пожалуйста, господин капитан.

Кадет Биглер полез в чемоданчик и вынул оттуда книжку, о которой только что говорил.

— Пожалуйста. Извольте удостовериться. Флейснер приводит тот же самый пример. Тот же самый пример, который мы все сейчас слышали».

Книга Огюста Керкгоффса «Военная криптография» — реально существующий труд, написанный в 1883 году. В ней можно найти обзор существовавших на тот момент методов военной криптографии, методов криптоанализа и его автоматизации при помощи механических шифраторов, а также описание требований к шифровальным системам, одно из которых и стало известно как принцип Керкгоффса: тайными должны быть только ключи, но не алгоритм шифрования, и при создании системы надо исходить из того, что противнику известно о ней всё, кроме ключей. Настолько же реальна и книга «Руководство по военной тайнописи» поручика Флейснера с той только поправкой, что пример там этот приводиться не мог, поскольку «Руководство...» было издано в 1881 году, а «Грехи отцов» — только в 1886 году, на пять лет позже.

Правда, едва ли можно сказать, как утверждает кадет Биглер, что описываемый в романе метод изобретён полковником Кирхнером. Прообразом книжного шифра можно считать систему записи, которую описывает греческий полководец IV в. до н. э. Эней Тактик в трактате «О перенесении осад», пер. В. Ф. Белева: «Например, [одно] письмо было послано следующим образом. В тюк или другую какую-то поклажу была вложена книга или какая-то иная рукопись — безразлично, какого размера и сколь давняя. В ней было написано письмо точками, поставленными над буквами первой, второй или третьей строки, причём точками по возможности маленькими и неразличимыми ни для кого, кроме того, кому письмо предназначено. Когда книга приходила затем к кому следовало, он выписывал, ставя одну возле другой, помеченные буквы из первой, второй и других строчек и таким образом узнавал сообщаемое» (XXXI, 2). Была известна грекам и другие системы шифрования, например, так называемый квадрат Полибия: весь алфавит вписывается в таблицу 5 на 5, и каждой букве соответствует код из двух цифр, а такую информацию уже можно было передавать на расстояние, например при помощи факельных сигналов.

Разумеется, даже со времён Керкгоффса, не говоря уже об Энее Тактике, криптология шагнула далеко вперёд. Об истории криптографии, современном состоянии её развития и областях применения можно почитать, к примеру, классическую книгу Дэвида Кана (David Kahn) «Взломщики кодов» (The Codebreakers) 1967 года или выдержавшую уже семь переизданий работу Уильяма Столлингса (William Stallings) «Криптография и сетевая безопасность: принципы и практика» (Cryptography and Network Security: Principles and Practice).

«Пока всё это выяснялось, поручик Лукаш старался побороть необъяснимое душевное волнение. Он кусал себе губы, хотел что-то возразить и, наконец, сказал, но совсем не то, что намеревался сказать сначала.

— Не следует всё это воспринимать трагически, — произнёс он в каком-то странном замешательстве.— За время нашего пребывания в лагере у Брука-на-Лейте сменилось несколько систем шифровки депеш. Пока мы приедем на фронт, появятся новые системы, но думаю, что там вовсе не останется времени на разгадывание подобной тайнописи. Прежде чем кто-нибудь из нас успеет расшифровать нужный пример, ни батальона, ни роты, ни бригады не будет и в помине. Практического значения это не имеет!»

Задача составлена специально для «Элементов».


3
Показать комментарии (3)
Свернуть комментарии (3)

  • Олег Чечулин  | 13.05.2016 | 02:18 Ответить
    При шифровании на одной странице находим букву, на второй странице находим соответствующее слово... Но это слово может оказаться не первым вхождением на данной странице! При расшифровке вполне может оказаться, что расшифруется другая буква.
    Тут требуется, чтобы на странице со словами не было повторяющихся слов.
    Ответить
  • samara  | 16.05.2016 | 16:25 Ответить
    И это было удобнее шифроблокнота?
    Ответить
    • 3g430 > samara | 21.05.2016 | 20:21 Ответить
      Если во время войны у вас найдут шифрблокнот - в лучшем случае отделаетесь расстрелом. А пользоваться этим шифром в штабе своей армии - достойно пера Швейка
      Ответить
Написать комментарий
Элементы

© 2005–2025 «Элементы»