Роман Душкин
Криптографические приключения: таинственные шифры и математические задачи
Иллюстрации Екатерины Колосовской
© Душкин Р., текст
© Колосовская Е., иллюстрации
© ООО «Издательство АСТ»
Глава 1
Мы ехали уже несколько часов, и я с удивлением отмечал, что вспоминаю окружающие меня пейзажи. Отец вёл машину по двухполосной дороге, временами обгоняя бесконечные колонны грузовиков.
– Папа, откуда столько машин?
– Перевозят грузы. Здесь довольно плохо развита региональная сеть дорог, и вся логистика зависит от движения грузового транспорта по крупным автотрассам. Ничего не поделаешь. Но нам осталось немного, потерпи.
Как обычно, когда речь заходит о транспорте и перевозках, отец начинает сыпать терминами и вдаваться в подробности. Конечно, это же касается его деловых интересов. Впрочем, я вряд ли смогу придумать тему, в которой отец не поделится энциклопедическими познаниями, или хотя бы не расскажет, где и что прочитать, чтобы узнать. Эх, стану ли я когда-нибудь таким знатоком всего на свете?
– Папа, а что такое логистика?
– Это управление материальными потоками. Так же называется и наука, которая его изучает.
– А если попроще?
– Как быстрее и дешевле перевезти груз из одной точки в другую.
– Мне кажется, что я знаю это слово, но не помню откуда.
– Понятное дело. В Heroes of Might and Magic играл же? Там есть такое умение у героев.
– Точно! Оно позволяет ходить дальше.
– Именно. В древние времена, как и сейчас, логистика была важной частью военной науки, поскольку требовалось перемещать множество людей и грузов на большие расстояния. Вы же изучали на уроке истории походы Александра Македонского, например?
– Да.
– Вот и подумай, сколько всего его армия должна была тащить с собой, когда шла из Греции в Персию.
Я задумался. А ведь действительно. Солдатам надо что-то есть, они должны быть обогреты, да мало ли чего ещё. Чем больше армия, тем больше должен быть обоз, а значит, больше должно быть людей, которые обслуживают обоз. И всё это накручивается друг на друга, возникают противоречащие друг другу ограничения и условия. Действительно, надо быть семи пядей во лбу, чтобы организовать военные кампании.
Я продолжал задумчиво смотреть в окно. Папа обгонял очередной грузовик. Я спросил:
– Папа, а скажи, откуда ты столько всего знаешь? Какой вопрос ни задашь, ты на все можешь дать ответ.
Отец громко рассмеялся, а потом сказал:
– В детстве и отрочестве, когда мои ровесники гоняли в футбол, я сидел дома и изучал Гугл.
– Что? Какой Гугл? Ты смеёшься.
– Ну а что такое? У меня был свой Гугл. Называется «Большой Энциклопедический Словарь». Такая толстенная книга, в ней около тысячи тонких, почти папиросных листов, и на каждом куча сжатой информации. Я поглощал её мегабайтами. Вот, скажем, в твоём возрасте я знал практически все греческие и латинские корни, которые используются для образования научных слов. Это очень помогало сразу понимать смысл незнакомых мне слов, включающих эти корни.
– Это так важно?
– Не так, чтобы очень важно, но это помогает. К тому же изучение иностранных языков очень хорошо развивает мозги.
– Это ты уже не один раз говорил. Скажи лучше, что мне сделать, чтобы превзойти тебя в знаниях и умениях.
Он опять рассмеялся, а потом сказал самым серьёзным тоном:
– Тебе проще. Ты идёшь по моим стопам, и сейчас для тебя главное – это не разбрасываться и учиться у меня тому, как учиться, какие знания получать, что читать, куда смотреть, что пробовать. Я подскажу тебе, чего делать не надо, поскольку уже проверил некоторые тупиковые пути, и тебе по ним идти не имеет смысла. Ты сможешь учиться на моих ошибках, а не на своих. У тебя есть уникальная возможность. Главное, как ты ей воспользуешься…
Эти слова поразили меня. Я действительно не задумывался об этом, но сейчас отец открыл мне глаза на практически неисчерпаемый источник знаний и информации о самых различных вещах. И это не просто сухие статьи в Википедии, но и интересные обсуждения и эксперименты.
Перед моим внутренним взором поплыли головокружительные картины. Я спросил:
– Папа, а можно сделать так, чтобы всё накопленное знание передавалось по наследству?
Отец хмыкнул и сказал что-то непонятное про Дарвина и ещё какого-то Ламарка. Если Дарвина я помнил по урокам биологии, то кто такой Ламарк, совсем не знал. Как я понял, наследование накопленной информации невозможно, поскольку полученные знания надо как-то закодировать в генах, а гены для этого не предназначены. Ну или что-то в этом роде. Затем папа впал в совсем уж заумные рассуждения о прокариотах и возможности у них ламарковского наследования. Я потерял нить рассуждений, а потому уже не слушал, а просто смотрел в окно.
Тем временем за окном проплывал сосновый бор, и я понял, что мы совсем близко к нашей цели. Эти места мне были отчётливо знакомы. Тогда я перебил отца и воскликнул:
– Скажи мне, откуда я помню эту местность, если я никогда здесь не был?! Как ты это сделал?
Занудные рассуждения о прокариотах прекратились, и отец ответил:
– Я же тебе уже объяснял. Это были наведённые воспоминания. Они постепенно конструировались в твоей голове, а потом раскрылись во время сновидения.
– То есть это не был один сон?
– Нет. Технически это цепочка ассоциативных связей в твоём мозгу подключилась к массиву новых доступных для сознания воспоминаний. Весь этот сон ты увидел за одно мгновение, но помнишь его как очень длинное приключение.
– Но как ты это сделал?
– Ну вспомни, сколько раз ты был у меня в лаборатории, где мы занимались якобы экспериментами по чтению мыслей. На самом деле это было конструирование новой памяти. Нейроны у тебя в голове формировали новые связи в том порядке, какой требуется, чтобы разум воспринимал эти воспоминания именно так, как я их сконструировал.
– А как ты их сконструировал?
– Используя свои собственные воспоминания. Ведь всё, что ты вспомнил во сне, на самом деле находится в моей памяти. Отсюда и некоторые неувязки, неизбежные в таких случаях.
– То есть ты хочешь сказать, что сначала выгрузил из своей головы в тот прибор свои воспоминания, а потом загрузил их мне? Вроде как с одного компьютера на другой перенёс файлы на флешке?
– Примерно так, да. Процесс, конечно, намного сложнее, поэтому и занял столько времени. А потом я произнес ключевое слово и включил загруженную память.
– Какое слово?!
– Ну, брат, этого я тебе не скажу. Иначе ты снова погрузишься в эти воспоминания, и сколько ты в них пробудешь, никто не знает.
Но как он мог подвергнуть меня такому эксперименту? А вдруг что-нибудь случилось бы, что-нибудь пошло не так?
– Папа, но почему ты сделал это со мной? Вдруг из-за твоей машины у меня бы сгорели мозги?
– Но у меня же не сгорели.
– То есть ты сначала испробовал этот метод на себе?
– Честно говоря, сначала на крысах. Кстати, советую тебе прочитать рассказ «Цветы для Элджернона». Он грустный и не совсем правдивый, но в нем описано примерно то же, что происходило с крысами в моей лаборатории. Впрочем, когда будешь читать, не пугайся. Неправда именно в том, что через какое-то время после опытов происходит деградация. На самом деле все полученные знания остаются с тобой.
– Погоди. Ты сказал «полученные знания»?
– Да, именно так. Этот метод прекрасно подходит для того, чтобы загружать в голову гигантские объёмы информации.
– Что? И после этого ты мне вешаешь лапшу на уши про какой-то Большой Энциклопедический Словарь?
Отец гомерически расхохотался, потом смахнул выступившие слёзы и сказал, что словарь действительно был, но я прав, и многое он загрузил к себе в голову сравнительно недавно при помощи прибора в лаборатории.
За этим разговором я не заметил, как мы проехали Альдию и уже подъезжали к Раёво. Всё выглядело в точности так, как я помнил. Вот покосившийся указатель, вот поворот на Лунинскую деревню, вот почта, магазин, пруд. Наконец мы подъехали к дому.
Глава 2
Всё началось после того, как я написал выпускную контрольную работу по математике. Конечно, я получил пятёрку, как и ожидал. Сразу после этого меня начали мучить вопросы о том, что папа со мной сделал, как ему это удалось и произошло ли это на самом деле, или же это действительно был лишь сон.
Уже почти наступило лето, мы готовились к долгим каникулам. У меня созрел план.
– Папа, но это место, эта деревня действительно существует?
– Да, это деревня, откуда родом твой дед. Я же тебе уже рассказывал.
– Тогда у меня замечательная идея. Давай проведём лето в Раёво.
Воцарилось молчание. Потом отец сказал:
– Почему бы и нет? Я же не был там почти двадцать пять лет. Но сначала нам надо будет уладить кое-какие дела.
* * *Через несколько дней мы сели в машину и двинулись к летним приключениям. Но мы поехали не в далёкую тамбовскую деревню, а в подмосковный город Красноармейск, где папа планировал встретиться с одним из своих двоюродных братьев. Они хотели договориться о каких-то делах, и папа говорил, что это очень важно.
Папа обещал, что в Красноармейске мне будет занятие по душе и я смогу применить те знания, которые он загрузил мне в голову при помощи своего прибора. Это заинтриговало меня, и я решил утихомирить своё нетерпение.
Мы доехали сравнительно быстро. Это был обычный небольшой городок, я не заметил ничего особенного. Сначала мы проехали лес, через несколько минут попали в жилые кварталы и повернули на улочку между двумя заборами, за которыми стояли большие липы. Папа повернул к забору справа и упёрся в закрытые ворота.
Отец посигналил. Потом набрал номер на мобильнике, но трубку не взяли. Он снова посигналил, и только минут через десять ворота открылись, и из-за них показался какой-то лохматый заспанный мужик сурового вида. Он хмурился и бормотал себе под нос какие-то слова, возможно, ругательства.
Это был дядя Руслан, с которым я, бывало, играл в детстве, когда он приезжал к нам со своей семьей. Из-за его спины выскочили две девочки и побежали в нашу сторону. Одну я узнал: это была Вика, моя троюродная сестра. Вторая, судя по всему, была Валя, – тоже троюродная сестра. Помнится, когда мне было лет шесть, я таскал Вику по даче и показывал ей всякие цветочки, а ей тогда было года три или меньше. А Валю я видел впервые.
Выйдя из машины, я увидел терраску и за ней небольшой огород. На огороде виднелись яблони, стояла теплица, а грядки были засажены всякой всячиной. Я ступил на дорожку, которая вела вглубь сада, и тут на меня налетела Вика, схватила за руку и куда-то потащила. Валя прыгала рядом и визжала то ли от радости, то ли от возбуждения, которое охватило всех вокруг.
Вика вела меня и показывала, что и где она посадила. Тут была и земляника, и клубника, и малина в дальнем углу… Я не понимал половину слов, но было ясно, что она рада меня видеть, и мне это даже немного льстило.
Мы обошли весь участок и вернулись к дому. Это было странное строение, как будто составленное из двух домов, вплотную прижатых друг к другу. Справа от меня был старый дом. Он был небольшой, покрашенный белой краской, с несколькими окошками. А слева к нему был пристроен новый дом – в гараж под ним папа въехал на машине с другой стороны. И что интересно: дверь старого дома выходила в проход между этими домами, и это был как будто бы коридор на улице. Я пошёл по нему, и тут моё внимание привлёк странный узор на стене старого дома. Это была то ли надпись, то ли какой-то необычный орнамент, сделанный карандашом и почти неразличимый из-за потрескавшейся краски. Я остановился и стал изучать свою находку:
Подошёл отец, положил мне руку на плечо и заметил:
– Ага, я смотрю, ты нашёл наши «наскальные изображения». Хорошо. Вот тебе и первая загадка. Сможешь разгадать?
Я ещё чуть-чуть подумал и кивнул. Это не должно быть сложно. И методы анализа вроде бы все известны.
Отец продолжил:
– Здесь ты найдёшь много таких надписей. Я уже сам не помню, где и что написано. Дело было лет пятнадцать назад, а то и больше.
К нам подбежала Вика, чтобы посмотреть, что же так привлекло моё внимание. Она дёрнула меня за руку и сказала, что эти штуки рисовал её папа в детстве, и она нашла много таких узоров. А ещё папа рассказал ей, что эти узоры что-то обозначают. Но он сам всё забыл, а она не понимает, как может что-то обозначать простой узор.
Я улыбнулся сестре и попросил показать мне всё, что она нашла. Но перед этим я сходил в машину, достал свой планшет и захватил блокнот с карандашом.
* * *Через час я сфотографировал на планшет несколько надписей, которые показала мне Вика. Она упорно называла их «узорами», но мне было ясно, что это именно зашифрованные надписи. Правда, они действительно выглядели как узоры, поскольку часто представляли собой цепочку переплетённых друг с другом символов. Но пока я бегал за Викой и фотографировал эти «узоры», я уже начал находить в них закономерности и одинаковые элементы.
Я уже знал, что мне предстоит составить таблицу использованных символов и указать, сколько раз использован каждый символ. Задача осложнялась тем, что перед этим надо было отделить символы друг от друга, а для этого как-то найти границы символов. Границы некоторых были достаточно очевидны, а другие сливались в переплетающиеся линии и узоры.
Поэтому для начала я нарисовал таблицу. В первом столбце я перечислил все найденные надписи:
Вика завороженно смотрела, как я перерисовывал находки в блокнот. Потом она спросила, действительно ли я смогу выяснить, что здесь написано. Я кивнул, а она захлопала в ладоши и села рядом смотреть. Я сказал:
– Вика, это может быть надолго. Я ещё не понимаю, как разбить эти надписи на символы, надо проанализировать и попробовать разные варианты.
Но, похоже, она не стала задумываться над этим. Я мысленно махнул рукой и решил, что она всё равно не будет мешать. Я расположился на втором этаже нового дома и начал сопоставлять символы в надписях.
Подошёл отец, посмотрел, хмыкнул и ушёл. Через пятнадцать минут Вика поняла, что меня ждать бесполезно, и убежала вниз.
Через некоторое время я стал догадываться, как разделяются символы в найденных надписях. Похоже, что все символы в этой шифровке можно разделить на две группы. В первую группу попадают символы с округлыми очертаниями, которые не могут присоединяться к другим символам. А во второй группе – символы с открытыми концами, которыми они могли присоединяться друг к другу. Количество таких открытых концов у разных символов было различным. Больше всего концов – шесть – было у символа в виде трёх диагональных линий.
Это помогло мне начать отделять символы друг от друга. Хорошо, что сами слова были разделены пробелами, и с этим проблем не возникало. Немного труда, и у меня, вроде бы, всё получилось.
Я подошёл к отцу и показал ему результат. Дядя Руслан стоял тут же. Он взял у меня блокнот и одобрительно сказал, что у меня неплохо получилось разобраться с тем, что они в детстве считали серьёзной преградой для потенциальных расшифровщиков. Ободрённый похвалой, я отправился работать дальше.
Естественно, что первым делом я посчитал, сколько раз встречался каждый символ. Но это не очень помогло, поскольку у меня были только короткие фразы и отдельные слова. Частотный анализ к ним не применить. Я вспомнил, что такая же проблема была у Шерлока Холмса в рассказе «Пляшущие человечки». Но я прочитал рассказ прошлым летом и помнил только его общий смысл, а в голову ничего не шло. Я снова пошёл к отцу:
– Подскажи, что делал Шерлок Холмс, когда нашёл зашифрованные надписи?
Отец улыбнулся и ответил:
– Хорошо, подскажу, раз уж ты вспомнил, где описан метод. Он пользовался ключевыми словами.
Точно! Великий сыщик разгадал несколько слов, предположив, что могли бы написать герои рассказа. Я вспомнил, что одним из таких слов было имя героини. Итак, мне надо попробовать догадаться, что обозначает какое-либо слово, а после этого подставить обнаруженные буквы в другие фразы и посмотреть, что получится.
Я начал с самого простого слова, которое нашел первым. Это слово состояло из трёх связанных символов:
Я уже разобрался, что символы соединены друг с другом концами линий, из которых состоят. При этом иногда линии вытянуты для того, чтобы достигнуть предыдущей буквы.
Что это могло бы значить? Интересно то, что средний символ попадается очень часто, даже при том, что зашифрованного текста так мало. Что, если это самая часто встречающаяся буква русского языка – «О»? Получается, что это слово из трёх букв, и в середине стоит «О». Это почти как разгадывать кроссворд, только вот нет загадок, которые надо разгадать, а только непонятные символы…
Итак, надпись на стене дома – «_О_». Что же это? Что можно написать на стене дома?..
И тут у меня в голове возникла красная надпись: «дом». Ну конечно же, на доме написано «ДОМ». Это же так просто. Только вот зачем? Но если эта гипотеза верна, значит, возможно, и остальные слова обозначают то, на чём они написаны. Вооружившись этим предположением, я решил вначале проверить короткие надписи, состоящие из одного слова.
Одна надпись была на камине, но она состоит из шести букв, поэтому слово «КАМИН» не подходит. Также не подходят слова «ТРУБА», «ПЕЧЬ» и «ПЕЧКА». Что же это может быть? Второй шифр из шести букв был написан на балконе, на маленькой дверце под самой крышей. Похоже, что эта дверца ведёт на чердак. Что может обозначать эта надпись? На ум сразу же пришли слова «БАЛКОН» и «ЧЕРДАК». Впрочем, это могли быть ещё «ДВЕРЦА» и «КРЫШКА», но очевидно, что больше всего подходит слово «ЧЕРДАК», поскольку буква «Д» мне уже известна.
Да уж, дела продвигаются как надо. Я даже вспотел от такого усердия. За десять минут разгадать два слова без подсказок и подсчёта частот символов! Но все же это не разгадки, а пока лишь мои предположения. Их надо проверить. И я решил подставить найденные буквы в самую длинную надпись.
В надписи из двух слов второе слово состояло почти из тех же самых букв, которые я уже определил как «ЧЕРДАК». Подставив их в это слово, я получил «Ч_ДАК», что тут же дало мне ещё одну букву «У» и подтверждение моих догадок.
Прибежала Вика – узнать, что у меня происходит. Я сказал ей, что догадался о значении трёх слов, но это ещё надо проверить. Она вытаращила глаза и воскликнула, что я мудрец, а потом опять убежала играть с Валей.
Итак, в моём распоряжении были буквы:
И я подставил их в самую длинную надпись. Вот что из этого вышло: «___ Д_ЕР_ Д__ К_А____ _У_Е___».
Что ж, очень даже неплохо. В глаза сразу бросилось второе слово «Д_ЕР_». Это либо «ДВЕРЬ», либо «ДВЕРИ», так что можно добавить в предполагаемый алфавит букву «В». Потом меня привлёк символ с крышечкой. Крышечка была очень похожа на ту, которая используется в букве «Й». Предположим, что это и есть «Й», а знак без крышечки, соответственно, – буква «И». Посмотрим, что получится: «И__ ДВЕРЬ Д__ К_АЙ___ ИУ_ЕИ_В» (я сразу подставил букву «Ь» в слово «ДВЕРЬ», так как если моё предположение верно, то буквы «И» здесь быть не может.
Меня сразу же смутило слово «ИУ_ЕИ_В». Если бы было только «ИУ_ЕИ», ещё можно было бы что-то подобрать, но мне не приходило в голову ни одного слова с таким окончанием из двух букв. Я достал планшет и подключился к интернету. По запросу «поиск слова по маске» я нашел несколько сайтов, открыл первый в списке и ввёл в его поисковую строку «ИУ-ЕИ-В». Ничего не нашлось. Тогда я подумал, что надо бы учесть, что на таких сайтах слова даются в начальной форме, а в моём случае окончание может быть любое, в том числе любого размера. Тогда я ввёл «ИУ-ЕИ-В*». Опять пусто.
Что ж, моя идея оказалась некорректной. Попробую откатиться на шаг назад и поискать слова по маске «-У-Е – В*». Я быстро ввёл это сочетание и получил достаточно большой список. Большинство слов в нём были чьими-то фамилиями, но было и два подходящих: «МУЖЕСТВО» и «СУЩЕСТВО». Очевидно, мне нужно второе слово, поскольку в шифровке первая и пятая буква одинаковые, и это «С», а само слово – «СУЩЕСТВ». Тогда почему в предыдущем слове над буквой «С» стоит галочка?
Я выписал в блокнот новые найденные буквы:
А затем подставил новые находки в большую надпись: «С__ ДВЕР_ Д__ К_А____ СУЩЕСТВ». От предположения о букве «Ь» я пока отказался, поскольку это может быть и буква «И». Что ж, неплохо, но тут что-то больше в голову ничего не приходит.
Лучше вернусь к одной из предыдущих надписей. Теперь можно попробовать отгадать, что написано на камине. Я подставил буквы: «ТА___К» и ввёл эту маску в строку поиска на сайте. Нашлось всего лишь десять слов, главным образом названия городов в Сирии и рек в Киргизии. Но одно из слов было очень подходящим: «ТАЙНИК». Я не стал раздумывать, а просто взял и добавил три новые буквы к списку открытых.
Теперь большая надпись читалась так: «СИ_ ДВЕРЬ Д__ К_А_Н__ СУЩЕСТВ».
Структура этого предложения подсказывала, что после слова «ДВЕРЬ» стоит предлог, а слово «К_А_Н__» должно быть прилагательным, подчинённым слову «СУЩЕСТВ». После недолгих размышлений всё стало понятно: это предлог «ДЛЯ», а у следующего слова – окончание «-ЫХ». Я узнал ещё четыре буквы, а надпись стала читаться: «СИЯ ДВЕРЬ ДЛЯ КЛА_НЫХ СУЩЕСТВ». Ни одна буква не подходила на место неизвестного символа: буквы «С» с галочкой.
Как обычно, новая мысль молнией поразила меня. Галочка должна обозначать удвоение буквы, это же очевидно! Получается слово «КЛАССНЫХ». Да уж, чего только папа в детстве не придумывал. А какой стиль изложения! Мне стало смешно, что можно было размышлять при помощи таких слов. «Классный», «существо» – какая архаика. Сейчас никто так не говорит.
Я обновил таблицу разгаданных символов:
После этого уже стало можно без проблем расшифровать надпись над лестницей. Она гласила «НЕ ВХОДИТЬ». Интересно, куда не входить? Всем ли, кто прочитает, не входить? Но ведь прочитать могли только отец и дядя Руслан, то есть они написали этот запрет для себя?
Наконец я смог перейти к длинной надписи из трёх слов, которую нашёл самой последней: она была написана на баке с водой в глубине участка. Я подставил известные буквы и получил: «_О_ОТА ХУ_Е ВОРОВ_ВА».
Второе и третье слова можно было отгадать простым перебором тех букв, которые отсутствовали в моей таблице. Для второго слова вариант подобрался сразу же – «ХУЖЕ», и я занёс в свою таблицу ещё один разгаданный символ.
А вот для третьего слова подбор ничего не дал. Ни одна буква не подходила, но зато я догадался, что это, должно быть, слово «ВОРОВСТВА». То есть в этом шифре один символ обозначает две буквы. Как странно и забавно.
Я подумал: раз в шифре есть специальное обозначение для сдвоенных согласных, то почему бы в нём не быть символам для двойных или даже тройных буквосочетаний? Надо проверить. Проверку подсказывало первое слово, в котором был тот же символ. Подстановка дала слово «_ОСТОТА», продолжив подбирать, я выяснил, что это, скорее всего, слово «ПРОСТОТА», а вся фраза читается как «ПРОСТОТА ХУЖЕ ВОРОВСТВА». Где-то я это уже слышал, но не мог вспомнить, где именно.
Что ж, я распознал ещё три символа, и получилось, что я расшифровал все найденные надписи, а также узнал несколько необычных принципов, использованных в этом шифре. Так что если мне попадётся ещё какая-нибудь надпись на нём, я разберу её очень быстро. Я подошёл к отцу:
– Папа, объясни мне, зачем вы всё это писали? Своими бессмысленными надписями вы только портили дом.
Отец усмехнулся:
– Я так понимаю, что наш старый шифр тебе поддался. Молодец! Моё обучение даром не прошло. А что касается твоего вопроса, то тут ответ банален. Были маленькими, дурачились, хулиганили.
– Но объясни, зачем писать на доме «дом», а на чердаке «чердак»?
– С подобным вопросом часто сталкиваются те, кто занимается расшифровкой древних надписей. Вот, скажем, археологи найдут какой-нибудь горшок, а на нём странная надпись на неизвестном языке. И начинают они гадать, что за глубокую и мудрую мысль выразил автор этой надписи.