Роман Душкин

КРИПТОГРАФИЧЕСКИЕ ПРИКЛЮЧЕНИЯ

таинственные шифры и математические задачи

Глава 1

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

— Папа, откуда столько машин?

— Перевозят грузы. Здесь довольно плохо развита региональная сеть дорог, и вся логистика зависит от движения грузового транспорта по крупным автотрассам. Ничего не поделаешь. Но нам осталось немного, потерпи.

Как обычно, когда речь заходит о транспорте и перевозках, отец начинает сыпать терминами и вдаваться в подробности. Конечно, это же касается его деловых интересов. Впрочем, я вряд ли смогу придумать тему, в которой отец не поделится энциклопедическими познаниями, или хотя бы не расскажет, где и что прочитать, чтобы узнать. Эх, стану ли я когда-нибудь таким знатоком всего на свете?

— Папа, а что такое логистика?

— Это управление материальными потоками. Так же называется и наука, которая его изучает.

— А если попроще?

— Как быстрее и дешевле перевезти груз из одной точки в другую.

— Мне кажется, что я знаю это слово, но не помню откуда.

— Понятное дело. В Heroes of Might and Magic играл же? Там есть такое умение у героев.

— Точно! Оно позволяет ходить дальше.

— Именно. В древние времена, как и сейчас, логистика была важной частью военной науки, поскольку требовалось перемещать множество людей и грузов на большие расстояния. Вы же изучали на уроке истории походы Александра Македонского, например?

— Да.

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

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

Я продолжал задумчиво смотреть в окно. Папа обгонял очередной грузовик. Я спросил:

— Папа, а скажи, откуда ты столько всего знаешь? Какой вопрос ни задашь, ты на все можешь дать ответ.

Отец громко рассмеялся, а потом сказал:

— В детстве и отрочестве, когда мои ровесники гоняли в футбол, я сидел дома и изучал Гугл.

— Что? Какой Гугл? Ты смеёшься.

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

— Это так важно?

— Не так, чтобы очень важно, но это помогает. К тому же изучение иностранных языков очень хорошо развивает мозги.

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

Он опять рассмеялся, а потом сказал самым серьёзным тоном:

— Тебе проще. Ты идёшь по моим стопам, и сейчас для тебя главное — это не разбрасываться и учиться у меня тому, как учиться, какие знания получать, что читать, куда смотреть, что пробовать. Я подскажу тебе, чего делать не надо, поскольку уже проверил некоторые тупиковые пути, и тебе по ним идти не имеет смысла. Ты сможешь учиться на моих ошибках, а не на своих. У тебя есть уникальная возможность. Главное, как ты ей воспользуешься…

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

Перед моим внутренним взором поплыли головокружительные картины. Я спросил:

— Папа, а можно сделать так, чтобы всё накопленное знание передавалось по наследству?

Отец хмыкнул и сказал что-то непонятное про Дарвина и ещё какого-то Ламарка. Если Дарвина я помнил по урокам биологии, то кто такой Ламарк, совсем не знал. Как я понял, наследование накопленной информации невозможно, поскольку полученные знания надо как-то закодировать в генах, а гены для этого не предназначены. Ну или что-то в этом роде. Затем папа впал в совсем уж заумные рассуждения о прокариотах и возможности у них ламарковского наследования. Я потерял нить рассуждений, а потому уже не слушал, а просто смотрел в окно.

Тем временем за окном проплывал сосновый бор, и я понял, что мы совсем близко к нашей цели. Эти места мне были отчётливо знакомы. Тогда я перебил отца и воскликнул:

— Скажи мне, откуда я помню эту местность, если я никогда здесь не был?! Как ты это сделал?

Занудные рассуждения о прокариотах прекратились, и отец ответил:

— Я же тебе уже объяснял. Это были наведённые воспоминания. Они постепенно конструировались в твоей голове, а потом раскрылись во время сновидения.

— То есть это не был один сон?

— Нет. Технически это цепочка ассоциативных связей в твоём мозгу подключилась к массиву новых доступных для сознания воспоминаний. Весь этот сон ты увидел за одно мгновение, но помнишь его как очень длинное приключение.

— Но как ты это сделал?

— Ну вспомни, сколько раз ты был у меня в лаборатории, где мы занимались якобы экспериментами по чтению мыслей. На самом деле это было конструирование новой памяти. Нейроны у тебя в голове формировали новые связи в том порядке, какой требуется, чтобы разум воспринимал эти воспоминания именно так, как я их сконструировал.

— А как ты их сконструировал?

— Используя свои собственные воспоминания. Ведь всё, что ты вспомнил во сне, на самом деле находится в моей памяти. Отсюда и некоторые неувязки, неизбежные в таких случаях.

— То есть ты хочешь сказать, что сначала выгрузил из своей головы в тот прибор свои воспоминания, а потом загрузил их мне? Вроде как с одного компьютера на другой перенёс файлы на флешке?

— Примерно так, да. Процесс, конечно, намного сложнее, поэтому и занял столько времени. А потом я произнес ключевое слово и включил загруженную память.

— Какое слово?!

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

Но как он мог подвергнуть меня такому эксперименту? А вдруг что-нибудь случилось бы, что-нибудь пошло не так?

— Папа, но почему ты сделал это со мной? Вдруг из-за твоей машины у меня бы сгорели мозги?

— Но у меня же не сгорели.

— То есть ты сначала испробовал этот метод на себе?

— Честно говоря, сначала на крысах. Кстати, советую тебе прочитать рассказ «Цветы для Элджернона». Он грустный и не совсем правдивый, но в нем описано примерно то же, что происходило с крысами в моей лаборатории. Впрочем, когда будешь читать, не пугайся. Неправда именно в том, что через какое-то время после опытов происходит деградация. На самом деле все полученные знания остаются с тобой.

— Погоди. Ты сказал «полученные знания»?

— Да, именно так. Этот метод прекрасно подходит для того, чтобы загружать в голову гигантские объёмы информации.

— Что? И после этого ты мне вешаешь лапшу на уши про какой-то Большой Энциклопедический Словарь?

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

За этим разговором я не заметил, как мы проехали Альдию и уже подъезжали к Раёво. Всё выглядело в точности так, как я помнил. Вот покосившийся указатель, вот поворот на Лунинскую деревню, вот почта, магазин, пруд. Наконец мы подъехали к дому.

Глава 2

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

Уже почти наступило лето, мы готовились к долгим каникулам. У меня созрел план.

— Папа, но это место, эта деревня действительно существует?

— Да, это деревня, откуда родом твой дед. Я же тебе уже рассказывал.

— Тогда у меня замечательная идея. Давай проведём лето в Раёво.

Воцарилось молчание. Потом отец сказал:

— Почему бы и нет? Я же не был там почти двадцать пять лет. Но сначала нам надо будет уладить кое-какие дела.

* * *

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

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

Мы доехали сравнительно быстро. Это был обычный небольшой городок, я не заметил ничего особенного. Сначала мы проехали лес, через несколько минут попали в жилые кварталы и повернули на улочку между двумя заборами, за которыми стояли большие липы. Папа повернул к забору справа и упёрся в закрытые ворота.

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

Это был дядя Руслан, с которым я, бывало, играл в детстве, когда он приезжал к нам со своей семьей. Из-за его спины выскочили две девочки и побежали в нашу сторону. Одну я узнал: это была Вика, моя троюродная сестра. Вторая, судя по всему, была Валя, — тоже троюродная сестра. Помнится, когда мне было лет шесть, я таскал Вику по даче и показывал ей всякие цветочки, а ей тогда было года три или меньше. А Валю я видел впервые.

Выйдя из машины, я увидел терраску и за ней небольшой огород. На огороде виднелись яблони, стояла теплица, а грядки были засажены всякой всячиной. Я ступил на дорожку, которая вела вглубь сада, и тут на меня налетела Вика, схватила за руку и куда-то потащила. Валя прыгала рядом и визжала то ли от радости, то ли от возбуждения, которое охватило всех вокруг.

Вика вела меня и показывала, что и где она посадила. Тут была и земляника, и клубника, и малина в дальнем углу… Я не понимал половину слов, но было ясно, что она рада меня видеть, и мне это даже немного льстило.

Мы обошли весь участок и вернулись к дому. Это было странное строение, как будто составленное из двух домов, вплотную прижатых друг к другу. Справа от меня был старый дом. Он был небольшой, покрашенный белой краской, с несколькими окошками. А слева к нему был пристроен новый дом — в гараж под ним папа въехал на машине с другой стороны. И что интересно: дверь старого дома выходила в проход между этими домами, и это был как будто бы коридор на улице. Я пошёл по нему, и тут моё внимание привлёк странный узор на стене старого дома. Это была то ли надпись, то ли какой-то необычный орнамент, сделанный карандашом и почти неразличимый из-за потрескавшейся краски. Я остановился и стал изучать свою находку:

Подошёл отец, положил мне руку на плечо и заметил:

— Ага, я смотрю, ты нашёл наши «наскальные изображения». Хорошо. Вот тебе и первая загадка. Сможешь разгадать?

Я ещё чуть-чуть подумал и кивнул. Это не должно быть сложно. И методы анализа вроде бы все известны.

Отец продолжил:

— Здесь ты найдёшь много таких надписей. Я уже сам не помню, где и что написано. Дело было лет пятнадцать назад, а то и больше.

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

Я улыбнулся сестре и попросил показать мне всё, что она нашла. Но перед этим я сходил в машину, достал свой планшет и захватил блокнот с карандашом.

* * *

Через час я сфотографировал на планшет несколько надписей, которые показала мне Вика. Она упорно называла их «узорами», но мне было ясно, что это именно зашифрованные надписи. Правда, они действительно выглядели как узоры, поскольку часто представляли собой цепочку переплетённых друг с другом символов. Но пока я бегал за Викой и фотографировал эти «узоры», я уже начал находить в них закономерности и одинаковые элементы.

Я уже знал, что мне предстоит составить таблицу использованных символов и указать, сколько раз использован каждый символ. Задача осложнялась тем, что перед этим надо было отделить символы друг от друга, а для этого как-то найти границы символов. Границы некоторых были достаточно очевидны, а другие сливались в переплетающиеся линии и узоры.

Поэтому для начала я нарисовал таблицу. В первом столбце я перечислил все найденные надписи:

Вика завороженно смотрела, как я перерисовывал находки в блокнот. Потом она спросила, действительно ли я смогу выяснить, что здесь написано. Я кивнул, а она захлопала в ладоши и села рядом смотреть. Я сказал:

— Вика, это может быть надолго. Я ещё не понимаю, как разбить эти надписи на символы, надо проанализировать и попробовать разные варианты.

Но, похоже, она не стала задумываться над этим. Я мысленно махнул рукой и решил, что она всё равно не будет мешать. Я расположился на втором этаже нового дома и начал сопоставлять символы в надписях.

Подошёл отец, посмотрел, хмыкнул и ушёл. Через пятнадцать минут Вика поняла, что меня ждать бесполезно, и убежала вниз.

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

Это помогло мне начать отделять символы друг от друга. Хорошо, что сами слова были разделены пробелами, и с этим проблем не возникало. Немного труда, и у меня, вроде бы, всё получилось.

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

Естественно, что первым делом я посчитал, сколько раз встречался каждый символ. Но это не очень помогло, поскольку у меня были только короткие фразы и отдельные слова. Частотный анализ к ним не применить. Я вспомнил, что такая же проблема была у Шерлока Холмса в рассказе «Пляшущие человечки». Но я прочитал рассказ прошлым летом и помнил только его общий смысл, а в голову ничего не шло. Я снова пошёл к отцу:

— Подскажи, что делал Шерлок Холмс, когда нашёл зашифрованные надписи?

Отец улыбнулся и ответил:

— Хорошо, подскажу, раз уж ты вспомнил, где описан метод. Он пользовался ключевыми словами.

Точно! Великий сыщик разгадал несколько слов, предположив, что могли бы написать герои рассказа. Я вспомнил, что одним из таких слов было имя героини. Итак, мне надо попробовать догадаться, что обозначает какое-либо слово, а после этого подставить обнаруженные буквы в другие фразы и посмотреть, что получится.

Я начал с самого простого слова, которое нашел первым. Это слово состояло из трёх связанных символов:

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

Что это могло бы значить? Интересно то, что средний символ попадается очень часто, даже при том, что зашифрованного текста так мало. Что, если это самая часто встречающаяся буква русского языка — «О»? Получается, что это слово из трёх букв, и в середине стоит «О». Это почти как разгадывать кроссворд, только вот нет загадок, которые надо разгадать, а только непонятные символы…

Итак, надпись на стене дома — «_О_». Что же это? Что можно написать на стене дома?..

И тут у меня в голове возникла красная надпись: «дом». Ну конечно же, на доме написано «ДОМ». Это же так просто. Только вот зачем? Но если эта гипотеза верна, значит, возможно, и остальные слова обозначают то, на чём они написаны. Вооружившись этим предположением, я решил вначале проверить короткие надписи, состоящие из одного слова.

Одна надпись была на камине, но она состоит из шести букв, поэтому слово «КАМИН» не подходит. Также не подходят слова «ТРУБА», «ПЕЧЬ» и «ПЕЧКА». Что же это может быть? Второй шифр из шести букв был написан на балконе, на маленькой дверце под самой крышей. Похоже, что эта дверца ведёт на чердак. Что может обозначать эта надпись? На ум сразу же пришли слова «БАЛКОН» и «ЧЕРДАК». Впрочем, это могли быть ещё «ДВЕРЦА» и «КРЫШКА», но очевидно, что больше всего подходит слово «ЧЕРДАК», поскольку буква «Д» мне уже известна.

Да уж, дела продвигаются как надо. Я даже вспотел от такого усердия. За десять минут разгадать два слова без подсказок и подсчёта частот символов! Но все же это не разгадки, а пока лишь мои предположения. Их надо проверить. И я решил подставить найденные буквы в самую длинную надпись.

В надписи из двух слов второе слово состояло почти из тех же самых букв, которые я уже определил как «ЧЕРДАК». Подставив их в это слово, я получил «Ч_ДАК», что тут же дало мне ещё одну букву «У» и подтверждение моих догадок.

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

Итак, в моём распоряжении были буквы:

И я подставил их в самую длинную надпись. Вот что из этого вышло: «___ Д_ЕР_ Д__ К_А____ _У_Е___».

Что ж, очень даже неплохо. В глаза сразу бросилось второе слово «Д_ЕР_». Это либо «ДВЕРЬ», либо «ДВЕРИ», так что можно добавить в предполагаемый алфавит букву «В». Потом меня привлёк символ с крышечкой. Крышечка была очень похожа на ту, которая используется в букве «Й». Предположим, что это и есть «Й», а знак без крышечки, соответственно, — буква «И». Посмотрим, что получится: «И__ ДВЕРЬ Д__ К_АЙ___ ИУ_ЕИ_В» (я сразу подставил букву «Ь» в слово «ДВЕРЬ», так как если моё предположение верно, то буквы «И» здесь быть не может.

Меня сразу же смутило слово «ИУ_ЕИ_В». Если бы было только «ИУ_ЕИ», ещё можно было бы что-то подобрать, но мне не приходило в голову ни одного слова с таким окончанием из двух букв. Я достал планшет и подключился к интернету. По запросу «поиск слова по маске» я нашел несколько сайтов, открыл первый в списке и ввёл в его поисковую строку «ИУ-ЕИ-В». Ничего не нашлось. Тогда я подумал, что надо бы учесть, что на таких сайтах слова даются в начальной форме, а в моём случае окончание может быть любое, в том числе любого размера. Тогда я ввёл «ИУ-ЕИ-В*». Опять пусто.

Что ж, моя идея оказалась некорректной. Попробую откатиться на шаг назад и поискать слова по маске «-У-Е — В*». Я быстро ввёл это сочетание и получил достаточно большой список. Большинство слов в нём были чьими-то фамилиями, но было и два подходящих: «МУЖЕСТВО» и «СУЩЕСТВО». Очевидно, мне нужно второе слово, поскольку в шифровке первая и пятая буква одинаковые, и это «С», а само слово — «СУЩЕСТВ». Тогда почему в предыдущем слове над буквой «С» стоит галочка?

Я выписал в блокнот новые найденные буквы:

А затем подставил новые находки в большую надпись: «С__ ДВЕР_ Д__ К_А____ СУЩЕСТВ». От предположения о букве «Ь» я пока отказался, поскольку это может быть и буква «И». Что ж, неплохо, но тут что-то больше в голову ничего не приходит.

Лучше вернусь к одной из предыдущих надписей. Теперь можно попробовать отгадать, что написано на камине. Я подставил буквы: «ТА___К» и ввёл эту маску в строку поиска на сайте. Нашлось всего лишь десять слов, главным образом названия городов в Сирии и рек в Киргизии. Но одно из слов было очень подходящим: «ТАЙНИК». Я не стал раздумывать, а просто взял и добавил три новые буквы к списку открытых.

Теперь большая надпись читалась так: «СИ_ ДВЕРЬ Д__ К_А_Н__ СУЩЕСТВ».

Структура этого предложения подсказывала, что после слова «ДВЕРЬ» стоит предлог, а слово «К_А_Н__» должно быть прилагательным, подчинённым слову «СУЩЕСТВ». После недолгих размышлений всё стало понятно: это предлог «ДЛЯ», а у следующего слова — окончание «-ЫХ». Я узнал ещё четыре буквы, а надпись стала читаться: «СИЯ ДВЕРЬ ДЛЯ КЛА_НЫХ СУЩЕСТВ». Ни одна буква не подходила на место неизвестного символа: буквы «С» с галочкой.

Как обычно, новая мысль молнией поразила меня. Галочка должна обозначать удвоение буквы, это же очевидно! Получается слово «КЛАССНЫХ». Да уж, чего только папа в детстве не придумывал. А какой стиль изложения! Мне стало смешно, что можно было размышлять при помощи таких слов. «Классный», «существо» — какая архаика. Сейчас никто так не говорит.

Я обновил таблицу разгаданных символов:

После этого уже стало можно без проблем расшифровать надпись над лестницей. Она гласила «НЕ ВХОДИТЬ». Интересно, куда не входить? Всем ли, кто прочитает, не входить? Но ведь прочитать могли только отец и дядя Руслан, то есть они написали этот запрет для себя?

Наконец я смог перейти к длинной надписи из трёх слов, которую нашёл самой последней: она была написана на баке с водой в глубине участка. Я подставил известные буквы и получил: «_О_ОТА ХУ_Е ВОРОВ_ВА».

Второе и третье слова можно было отгадать простым перебором тех букв, которые отсутствовали в моей таблице. Для второго слова вариант подобрался сразу же — «ХУЖЕ», и я занёс в свою таблицу ещё один разгаданный символ.

А вот для третьего слова подбор ничего не дал. Ни одна буква не подходила, но зато я догадался, что это, должно быть, слово «ВОРОВСТВА». То есть в этом шифре один символ обозначает две буквы. Как странно и забавно.

Я подумал: раз в шифре есть специальное обозначение для сдвоенных согласных, то почему бы в нём не быть символам для двойных или даже тройных буквосочетаний? Надо проверить. Проверку подсказывало первое слово, в котором был тот же символ. Подстановка дала слово «_ОСТОТА», продолжив подбирать, я выяснил, что это, скорее всего, слово «ПРОСТОТА», а вся фраза читается как «ПРОСТОТА ХУЖЕ ВОРОВСТВА». Где-то я это уже слышал, но не мог вспомнить, где именно.

Что ж, я распознал ещё три символа, и получилось, что я расшифровал все найденные надписи, а также узнал несколько необычных принципов, использованных в этом шифре. Так что если мне попадётся ещё какая-нибудь надпись на нём, я разберу её очень быстро. Я подошёл к отцу:

— Папа, объясни мне, зачем вы всё это писали? Своими бессмысленными надписями вы только портили дом.

Отец усмехнулся:

— Я так понимаю, что наш старый шифр тебе поддался. Молодец! Моё обучение даром не прошло. А что касается твоего вопроса, то тут ответ банален. Были маленькими, дурачились, хулиганили.

— Но объясни, зачем писать на доме «дом», а на чердаке «чердак»?

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

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

Я задумался. Действительно, многие древние надписи, которые до нас дошли, имеют совершенно бытовое значение. К примеру, новгородские берестяные грамоты…

Затем я спросил папу, что значит «простота хуже воровства». Он усмехнулся и сказал, что эта поговорка обозначает, что по своему простодушию можно совершить очень много зла, в первую очередь для самого себя. И если, например, воровство можно пресечь и наказать, то простоту в человеке перевоспитать очень сложно. Я спросил:

— А что же такое эта «простота»?

— Это, например, когда ты делаешь самое первое, что приходит в голову. Что-то произошло, а ты не взвешиваешь варианты и не обдумываешь последствия своих решений, а сразу рубишь с плеча.

Я подумал, что это верно. Что ж, папа уже тогда был непростым человеком. Я снова и снова узнаю удивительные вещи о его детстве.

Вырвав из своего блокнота листок, я быстро начертил на нём:

Я показал эту надпись отцу. Он заулыбался и сказал:

— Я всегда знал, что у тебя есть некоторый поэтический дар. Ты сочинял похожие поговорки, как только научился говорить.

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

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

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

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

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

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

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

Через несколько часов мы попрощались с дядей и сёстрами и отправились в тамбовскую деревню.

Глава 3

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

С главной площади мы свернули на Конторскую улицу и доехали до дома тётушки Кати.

Папа в свойственной ему манере вошёл прямо в дом и стал звать хозяйку. Она очень удивилась, когда увидела нас и узнала. А у меня в голове произошло какое-то завихрение, потому что по моей памяти мы были с тётей Катей хорошо знакомы, но она впервые встречалась со мной. И она задала все те вопросы, которые я помнил, и мне пришлось заново всё рассказывать. Это было необыкновенно странное ощущение. Отец сочувственно смотрел на меня и улыбался. Негодник…

Оказалось, к тете Кате мы заехали для того, чтобы взять ключи от дома на Красавке. Он уже давно стоит закрытым, и в нём никто не живёт. Папа сказал, что иногда в доме бывает его двоюродный брат Сан Саныч, но сейчас он в Моршанске и вряд ли скоро объявится. Зато мы сможем к нему как-нибудь съездить.

Примерно через час мы поехали домой. Папа загнал машину за забор заднего огорода, и мы пошли расконсервировать дом. Оказалось, что в нем вполне можно жить. В холодильнике даже обнаружились кое-какие консервы. Папа разбирал старые вещи и расставлял то, что мы привезли с собой. Я отнёс свои вещи в дальнюю комнату, но папа сказал, что мы будем спать на «даче», поэтому нет смысла располагаться в доме. В нем мы будем только готовить и есть. Насколько я помнил, дачей назывался небольшой домик, который строился под новую баню, но так ей и не стал.

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

Затем он подогнал машину к внешней стене дачи, чтобы стояла сразу под боком, открыл проход со двора на задний огород и запер изнутри основной вход в дом. Теперь мы могли попасть в дом с чёрного входа, а снаружи казалось, что дом нежилой. Так дача стала нашим штабом, где мы и работали, и спали. Я поселился в комнате с печкой, а папа устроился в предбаннике.

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

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

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

Затем папа сказал, что мы будем делать систему безопасности, а начнём с обустройства охранного периметра. Он придвинул ко мне схему и предложил подумать, где расположить видеокамеры и датчики движения, а где устроить контроль рубежа при помощи лазеров.

Я никогда даже не задумывался о таких вещах, а потому спросил:

— Зачем нам система безопасности?

— Ну, знаешь, места здесь дикие. Мало ли что может случиться. Придёт кто-нибудь незваный… Но мы не можем постоянно дежурить, поэтому положимся на технические средства охраны.

Я подумал, что иногда бдительность у отца работает уж очень сильно, но потом решил, что он прав, и лучше быть наготове. Мы тут вдвоём, никто в округе нас не знает. Действительно, мало ли что…

Я начал размышлять над поставленной задачей. Как я понял, видеокамеры нужны, чтобы вести постоянное наблюдение там, где мы сами не можем его обеспечить. Наверное, одну камеру надо повесить около машины, чтобы охранять её. Вторую — около входа в дом, чтобы видеть, кто подходит к нему. Третью я решил расположить в проходе к нашему штабу, а четвёртую — в берёзках.

Папа сказал, что эти видеокамеры старые (списанные с какого-то завода, на котором он когда-то делал систему безопасности), но вполне рабочие. К ним нужно присоединить датчики движения, чтобы включать запись видео по сигналу с этих датчиков. Это позволит сэкономить много электроэнергии. Но сами датчики надо располагать на подходе к зоне действия видеокамеры, чтобы камера успела включиться, когда потенциальный нарушитель приблизится.

Затем я стал думать над размещением лазеров. Они должны проверять, прошёл ли кто-нибудь через линию, и подавать тревожный сигнал, если кто-то ее пересёк. Значит, их надо поставить над длинными границами нашего участка. Я нарисовал четыре линии: поперёк прохода к нашему штабу между домами, вдоль заднего огорода с обеих сторон и в берёзках поперёк огорода.

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

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

Затем мы провели лазерные лучи по периметру нашего участка. Папа установил датчики примерно на высоте моей груди. Я спросил, почему не на уровне ног, а он ответил, что не хочет получать тревожные сигналы из-за кошек и ежей. С другой стороны от лазеров мы установили фотоэлементы.

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

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

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

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

Тётя Катя была очень рада нашему визиту. Она даже предложила поселиться у неё: дескать, в амбаре оборудовано отличное место для житья, особенно для молодёжи, и её племянники всегда там жили, когда приезжали на лето. Папа ответил, что мы уже почти оборудовали штаб, так что лучше будем приезжать к ней несколько раз в неделю на обед. Всё были довольны таким решением.

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

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

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

Этой ночью мы спали под охраной нашей новой системы безопасности.

* * *

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

За завтраком я сказал, что уже устал в этой странной деревне. Отец ответил:

— Погоди. Во-первых, ты сам предложил. Во-вторых, мы только что приехали. В-третьих, я уже развернул здесь рабочее место, и у тебя также есть возможность выходить во внешний мир. Что не так?

— Тут скучно.

— Ты просто не знаешь, чем себя занять. Понятное дело, у тебя здесь нет знакомых. Но в Москве все тоже обычно разъезжаются на лето…

— По крайней мере, там можно было бы ходить в разные места.

— Хорошо, давай так: возьми велосипед и покатайся. За деревню не выезжай, катайся по улицам. Можешь съездить к тёте Кате. Фотографируй на планшет интересные штуки и выкладывай их в блог. Думаю, что такая экзотика, как у нас, будет интересна твоим друзьям. Ну а я пока подумаю, как нам развлечься, составлю программу, набросаю план.

Вот так у него всё: чуть что, набрасывает план и составляет программу. Я вдохнул, но идеи были интересные. Особенно про фотографирование.

Я взял велосипед и поехал, куда глаза глядят. Настроение было на нуле, я как-то сам запутался в том, что хотел. А сейчас мне хотелось только вернуться домой и заняться своими обычными делами, которыми всегда занимаюсь в городе. К тому же за эти дни я не встретил ни одного подростка своих лет, так что общаться было не с кем. Это тоже меня немного угнетало.

Подумав, я решил поехать на Лунинскую улицу, поскольку на Красавке мы жили, а на Конторской были уже два раза. Я захотел посмотреть, что эта улица собой представляет и как это соотносится с моими наведёнными воспоминаниями.

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

Она стояла всё там же и смотрела на меня. Мне стало неловко, но я всё же подъехал и сказал:

— Привет. Ты здесь живёшь?

— Да, в этом доме. А ты где?

— Я с другой улицы. Прямо напротив, если пройти через ручей.

— Какой ручей?

— Ты в первый раз здесь, что ли?

— Да. А ты?

Я снова смутился. Ведь я тоже был здесь впервые, просто всё знал из-за эксперимента отца. Поэтому я ответил:

— Да, я тоже. Но я тут уже всё разузнал.

Она засмеялась и сказала, что я странный. Потом спросила:

— Как тебя зовут?

— Кирилл.

— А меня Катя. Ты в каком классе учишься?

— Закончил пятый класс, перешёл в шестой.

— А я в седьмой.

Вот ведь, ещё и старше меня. Я смутился в третий раз. Тут из дома раздался голос:

— Катя, с кем ты разговариваешь?

На крыльцо вышла старушка. Она строго посмотрела на меня:

— Ты ещё чьих будешь? Хулиган?

Я улыбнулся и назвал фамилию. Старушка сразу смягчилась и сказала:

— Трофима Ивановича хорошо помню, да. Хороший был человек. Он моему мужу покойному даже приходился каким-то братом. То ли двоюродным, то ли троюродным.

— Да, дед Трофим говорил, что у него вся деревня родственников.

— Да тебе сколько лет-то?

Вот ведь. Надо быть очень аккуратным. Я уточнил:

— Это папа мне рассказывал.

— А отца твоего как зовут?

Я назвал, и она поняла, что я прихожусь правнуком деду Трофиму. А отца моего она сама не знает, но много про него слышала. Она махнула рукой и сказала Кате, что со мной дружить можно. Та только рассмеялась.

Мы ещё немного посидели, обменялись телефонами (в наведенных воспоминаниях мы прожили с Марком в деревне всё лето, но номерами обменялись лишь в самом конце). Я пригласил новую знакомую к нам в гости.

Внезапно из рации у меня на поясе раздался строгий голос отца:

— Кирилл, ты куда пропал?

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

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

— Приём, кто засоряет эфир? Приём!

Я сказал, что вместо «алло» по рации принято говорить «приём». Это слово обозначает конец передачи и сигнал к ответу. Тут опять послышался строгий голос отца:

— Кто на связи? Приём!

Катя испугалась и вернула мне прибор. Я нажал на кнопку и сказал, что всё нормально, на связи я, Кирилл, и что я приеду через пятнадцать минут. Из рации донеслось шипение, и отец ответил, что ждёт меня на чай. Моя новая знакомая стояла и улыбалась, а я не знал, что сделать. Иногда, конечно, моего отца пугаются, но не до такой же степени… Я сказал:

— Не бойся, он у меня только кажется строгим.

— Я и не боюсь. Просто я никогда не видела такого способа общения.

— О! Когда я познакомлю тебя с моим папой, ты и не такое увидишь. У тебя есть велосипед?

— Есть.

— Тогда приезжай к нам, часов в шесть вечера.

— Но я не знаю, где вы живёте.

— Хорошо, я за тобой заеду.

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

После обеда отец как обычно прилег немного отдохнуть, а я решил завести дневник на это лето. Как мне не пришло это в голову сразу! Теперь придётся вспоминать и описывать несколько прошедших дней.

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

* * *

Катя сидела на скамейке около дома и что-то изучала в своём телефоне. Когда я подъехал, то увидел, что она играет в какую-то логическую игру. Как интересно…

Мы немного посидели, а потом я предложил съездить ко мне и познакомиться с моим отцом. Катя отпросилась у бабушки (вернее, это была её прабабушка). Та строго посмотрела на меня и сказала, что я очень спор. После этого она попросила номер телефона моего отца. Надо же, хоть и прабабушка, а понимает.

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

Когда мы подъехали, папа открыл глаза, а потом обратился к Кате:

— Здравствуй. Дай-ка угадаю…

Он внимательно посмотрел на неё так, что она покраснела, и сказал:

— Твоя фамилия Калганова, ведь так?

Катя удивленно раскрыла глаза и кивнула, а отец продолжал:

— Твоего отца Николай зовут? Или Сергей?

— Николай.

Тогда отец сказал, что ему всё ясно. Они с Николаем Калгановым — четвероюродные братья, а в детстве несколько раз встречались в этой деревне. Стало быть, мы с Катей приходимся друг другу пятиюродными братом и сестрой. Мы посмотрели друг на друга. Это было так удивительно — обрести нового родственника, про которого никогда не слышал. Я спросил отца:

— А как ты угадал фамилию?

— Я же помню, как Катин отец выглядел в детстве. Потом, дом у них на Лунинской улице. Сопоставил и понял.

— А много здесь у нас ещё родственников?

— Да любого возьми, какая-нибудь родственная связь да обнаружится. И это не только к Раёво относится — все деревни в округе как-то связаны друг с другом. Помнишь Машу? Она сейчас живет в Альдии, и там тоже множество наших родственных связей.

Нам с Катей осталось только удивляться. Но уже смеркалось, и я проводил сестру домой. Там она прямо с порога закричала бабушке, что я оказался её братом, но та лишь повторила, что её муж, Катин прадед был братом моему прадеду Трофиму, так что ничего удивительного в этом нет.

На этом мы и расстались.

Глава 4

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

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

Он взял лист бумаги и нарисовал на нём простую схему:

Я не очень ее понял, и папа объяснил. Перечёркнутый кружок обозначает лампочку. Рядом с ней располагается зуммер, который звенит, когда на него подаётся ток. Есть источник питания, то есть батарейка или аккумулятор. И есть два ключа-кнопки. При нажатии на ключ включаются обе лампочки и звучат оба зуммера. При этом не важно, какой ключ включён.

Соответственно, один ключ находится у меня, второй у Кати. Лампочки с зуммерами тоже есть и у меня, и у неё. Если кто-то из нас хочет передать сообщение, он должен использовать свой ключ. Одновременно передавать сообщения нельзя, всё перепутается. При этом папа специально нарисовал схему так, что лампочки и зуммеры одновременно работают с обеих сторон. Это для того, чтобы можно было контролировать передачу сообщения.

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

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

Мы сходили на обед к тёте Кате, а после завернули на Лунинскую улицу, поскольку папа хотел встретиться с Катиной прабабушкой. Ему казалось, что они уже были знакомы давным-давно.

Когда мы подошли к их дому, Катина прабабушка стояла около двери и что-то строго выговаривала правнучке. Мы подошли и поздоровались. Старушка прищурилась и долго смотрела на отца, а потом воскликнула:

— Как же! Помню. Но тебя совсем не узнать. Возмужал, облысел. Да, вот уж не думала, что через столько лет встречу тебя.

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

Мы с Катей решили прогуляться и пошли по Лунинской улице дальше, но ничего интересного здесь не было, только однообразные дома с палисадниками и непременными скамейками. Иногда мы видели людей, в основном стариков. Деревня всё-таки не выглядела такой вымершей, как в моих воспоминаниях.

Когда мы вернулись, папа как раз говорил:

— Мы хотим провести к вам телеграф, чтобы Кирилл и Екатерина могли переписываться и быть на связи. Ну и мне это пригодится, чтобы научить их некоторым интересным вещам. Вы не против?

Старушка не нашла никаких возражений, и тогда папа, взяв нас с собой, отправился на передний огород, чтобы изучить местность. Мы прошли до Раёва, там переправились через ручей и пробрались к нам. Мы дошли до амбара (моего бывшего штаба), и я увидел его воочию. Это была старая покосившаяся постройка, серая от времени. Окружающий сад был в запустении. Никакой пасеки уже не было. Мы пошли дальше и вышли на улицу. Там уже до нашего дома было рукой подать. Папа что-то записывал на листок бумаги, потом ещё раз посмотрел по сторонам и сказал, что ему всё понятно.

После этого папа сел за детальный план работ, а мы пошли назад к Кате. Я взял с собой планшет, мы расположились на скамейке и играли весь вечер. В её смартфоне было намного меньше игр, чем у меня на планшете, и сама она играла только в логические игры, а мои любимые стрелялки и бродилки ей не очень-то нравились. Поэтому мы выбрали промежуточный вариант и поиграли сначала в «Angry Birds», а потом в «Plants vs. Zombies». Вроде как стрелялки, но и логические задачи в них надо решать.

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

Когда я вернулся домой, были уже сумерки. Отец раскатал провод с бобины по лужайке перед домом и отмерял его отрезком верёвки. Оказалось, что оставшегося провода хватало только-только. Возможно, что его не хватит до нашего штаба, и тогда радиорубку придётся обустроить в основном доме. Отец скатал весь провод на бобину, убрал его, и мы отправились в штаб укладываться на ночь.

Из дневника Кирилла:

06 июня. Утром после завтрака папа выдал мне ножовку, доску и чертёж. Надо было выпилить по чертежу две основы для размещения кнопки-ключа, патрона с лампочкой и зуммера. Я все это сделал, а потом ещё и ошкурил вырезанные основы.

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

Обедали опять у тёти Кати, потому что из-за работы над телеграфом приготовить обед было некогда. После обеда папа забрал у тёти Кати целый пакет, наполненный пакетами. Зачем?

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

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

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

У Кати всё было как обычно. Она обрадовалась моему приезду, мы поиграли на планшете, а потом пошли изучать её задний огород. Впрочем, изучать там было нечего — такой же луг, как и у всех в этой деревне. Тогда я потащил её дальше, потому что хотел показать Новый пруд.

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

Потом мы пошли ко мне. Папа уже сделал устройства — они выглядели как приборные доски: сверху лампочка и звонок, снизу выключатель, а на обратной стороне были провода. Папа как раз вырезал из фанерки задники, чтобы их скрыть. Через какое-то время всё было готово: два аккуратных блока, из которых выходило по четыре контактных провода. Я даже немного загордился — мы сами сделали очень неплохие устройства.

После этого папа потянул провода к дому Кати. Оказалось, чтобы сделать всё по нарисованной схеме, нужно целых четыре провода. Теперь я понял, почему папа боялся, что бобины может не хватить. Но вроде бы хватило. Папа бросил концы проводов во дворе Катиного дома, и мы начали вкапывать те опоры, которые он привёз из леса. Вот тут и пригодились пакеты тёти Кати: ими папа обматывал те концы жердей, которые опускал в землю. До конца дня мы установили все жерди на переднем огороде Кати.

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

За день мы полностью вымотались, но зато построили линию телеграфной связи. Присоединение панелей управления папа отложил на следующий день. А пока мы втроём обошли нашу новую систему. Вроде бы всё было хорошо. Жерди стояли прямо, наверху в рогатках держались провода. Папа еще укрепил жерди внизу распорками.

Вечером я подошёл к отцу и спросил, почему пришлось тянуть четыре провода, ведь на схеме нет даже двух. Папа немного изменил первоначальный чертёж схемы, добавив пунктирные линии. Но получилось, на первый взгляд, не намного понятней:

Затем я вспомнил, что в каждую приборную панель действительно входит по четыре провода. Однако папа сделал новый чертеж:

Теперь стало всё совершенно понятно. А папа сказал:

— В твоих наведённых воспоминаниях должно быть что-то про топологию, верно?

— Да, ты написал, что это наука о неизменяемых свойствах объектов при их деформации.

— Точно, но только при непрерывной деформации, без разрывов и склеиваний. Так вот, сейчас мы сделали топологическое преобразование схемы — и всё встало на свои места. Ведь правда?

— Да, так намного понятнее.

— Так вот что я хочу сказать. В математике много странных и непонятных на первый взгляд вещей. Топология — это одна из таких вещей, поскольку вне прикладного уровня она очень абстрактная. Иногда даже сложно понять, о чём говорится в топологических теоремах (например, есть теорема о неподвижной точке, теорема о раскраске карт, а есть и о волосатом шаре). Но применять её можно во многих областях жизни…

— Ты призываешь меня стать математиком?

— Я бы хотел, чтобы ты очень старательно изучал математику, поскольку она — базовый язык для любой науки. Будешь понимать математику, значит, сможешь освоить и любую другую область знания.

— Понятно. Но ты же поможешь мне в учёбе?

— Конечно!

* * *

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

И у нас началось первое занятие, посвященное использованию нашего нового телеграфа. Папа сразу ввёл два новых понятия: протокол и кодирование информации. Он задал вопрос:

— Кирилл, представь, что ты хочешь отправить Екатерине сообщение при помощи этого устройства. Как ты это сделаешь?

Новые знания, загруженные мне в голову, конечно же, подсказали ответ:

— Для начала мы договоримся о способе кодирования, а потом я передам сообщение, закодировав его этим способом.

Катя явно не поняла, о чём речь. Тогда папа начал объяснять:

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

— Например, азбукой Морзе.

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

Потом он продолжил:

— Да, азбука Морзе — это один из возможных вариантов, но далеко не лучший. У него, конечно, есть свои преимущества, но давай подумаем еще. У нас есть ключ. Им можно включать и выключать лампочку со звонком. Интересно то, что мы можем подавать сигнал любой длительности: хотим, включим на секунду, хотим — на десять. Фактически это даёт нам неограниченное количество символов. Понятно, что такое «символ»?

Я сказал:

— Это минимальная единица кодирования информации, возможная на устройстве.

Отец кивнул и продолжил:

— Какой самый простой способ кодирования можно создать, используя длительность включения сигнала?

Я предложил:

— Можно каждой букве дать номер от 1 до 33, а пробел пусть будет 34, и тогда можно передавать буквы по номерам, а сам номер кодировать длительностью сигнала в секундах.

Отец одновременно улыбнулся и укоризненно покачал головой:

— Ты прекрасно знаешь, что пробел в сообщениях встречается чаще всего, так что использовать для его кодирования число 34 просто неэкономно. Это во-первых. Во-вторых, а так ли уж нужен пробел?

Действительно, ведь при помощи шифромашины мы с Марком передавали сообщения без пробелов. Тем временем отец продолжил:

— Но проблема даже не в этом. Нужно будет очень точно отмерять секунды, а при длинной передаче внимание оператора наверняка собьётся, и декодировать сигнал будет трудно. Давайте придумаем что-то более компактное и удобное для распознавания. Екатерина, ты знакома с двоичной системой счисления?

— Нет.

— Хорошо. Тогда как ты думаешь, почему мы считаем до десяти, то есть почему используем для записи чисел десять цифр от 0 до 9?

— Наверное, потому, что у нас десять пальцев на руках.

— Ты права, есть такая гипотеза. Но если подумать, то число «10» ничем не лучше и не хуже других чисел. Просто мы привыкли, что у нас именно десять цифр. А что получится, если использовать только две цифры: 0 и 1?

Катя нахмурилась. Я уже знал об этой системе, поэтому дал своей знакомой возможность поразмыслить самостоятельно. Она думала, но, видимо, в голову ничего не приходило. Тогда папа обратился ко мне, и я уже не упустил возможности покрасоваться. Я взял лист бумаги и написал в столбик:

0 = 0

1 = 1

2 =…

— Как получить 2? Нам надо к 1 прибавить ещё 1. Правила сложения очень простые:

0 + 0 = 0

0 + 1 = 1

1 + 1 = 10

— Почему это 10?

— Смотри. У нас есть только две цифры. Цифра 1 — последняя в ряду (как цифра 9), поэтому, если прибавить к ней единицу, произойдет перенос разряда, так же как если к девяти прибавить один. Но можно просто запомнить эти правила и не задумываться.

Отец блаженно улыбался, слушая моё объяснение. Похоже, этого он от меня и ожидал. Ободрённый, я спросил Катю:

— Теперь ты можешь сказать, как записать «3»?

Катя подумала и сказала, что «3» надо записывать как «11». Я подтвердил, что это абсолютно правильно, и сразу же спросил, как записывать «4». Но тут уже возникли сложности, и пришлось объяснять, как происходит перенос разряда и почему в итоге получается «100». После этого мы записали двоичные числа до 31 (так попросил папа).

Тем временем папа рассказал нам, как из двоичной записи числа перейти к десятичной. Оказалось, что каждому разряду соответствует степень двойки: 1 (20), 2 (21), 4 (22), 8 (23), 16 (24), 32 (25), 64 (26), 128 (27), 256 (28), 512 (29), 1024 (210) и т. д. Нужно взять те степени, которым в записи двоичного числа соответствуют единицы, а потом сложить их. Например, двоичному числу 10111 соответствует десятичное 16 + 4 + 2 + 1 = 23.

Затем папа сказал, что в математике числа «0» и «1» называются битами и что любую информацию можно представить при помощи битов. После этого мы наконец перешли к разработке системы кодирования.

Папа составил таблицу из трёх столбцов. В первый он выписал все буквы русского алфавита, пропустив букву Ё. Во втором записал их номера (от 0 до 31). А в третий столбец он записал те же номера в двоичном представлении, но каждый номер состоял из пяти битов — от 00000 до 11111. Получилось вот что:

— Теперь договоримся, как передавать биты 0 и 1. Тут можно использовать и метод Морзе. Пусть «0» будет коротким сигналом, а «1» — длинным, раза в три длиннее. При этом между каждым сигналом надо делать небольшую паузу, а между буквами, то есть между каждыми пятью сигналами — паузу подлиннее.

Отец взял мой передатчик и попросил записывать за ним. Мы взяли карандаши, а папа стал выбивать последовательность сигналов: длинный, короткий, короткий, длинный, короткий… Я записывал за ним: 10010 00101 01011 00101 00011 10000 00000 10100. Получилось слово «ТЕЛЕГРАФ».

Мы ещё немного потренировались — я выстукивал слова, Катя записывала, потом наоборот. Вроде бы всё понятно и довольно просто. Потом папа сказал:

— Ну вот, я хотел начать с протокола, а потом перейти к кодированию, а получилось наоборот. Давайте же изучим, что такое протокол. Скажи, Екатерина, как ты поймёшь, что надо начинать записывать передачу Кирилла?

— Я услышу звонок и увижу мигающую лампочку.

— Но ведь ты наверняка в этот момент будешь что-то делать, а карандаша и бумаги рядом не окажется. А может быть, и самой тебя поблизости не будет. Как быть?

Мы задумались. А ведь действительно. Чтобы успешно передать сообщение, нам обоим надо быть около своих устройств, но как это сделать, если мы друг друга не видим? Но отец продолжил:

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

Мы с Катей переглянулись, а отец тем временем говорил:

— Мы введём несколько служебных символов: «Запрос на начало передачи», «Ответ о готовности приёма» и «Окончание передачи». Подумайте и ответьте мне, для чего нужны эти символы.

Я сказал:

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

Отец согласился, а потом обратился к Кате:

— Екатерина, ты можешь придумать, как будут выглядеть эти три служебных символа?

— Думаю, что они должны состоять из последовательности сигналов, которые непохожи на наши биты «0» и «1».

— Почему?

— Так будет проще понять, что это служебная информация, а не текст телеграммы.

— Здорово, молодец! Это, в общем, необязательно: в компьютерных системах используются только биты и ничего другого. Но мы действительно можем позволить себе применить другие символы, чтобы проще отличать. Поэтому предлагаю такую схему…

И папа записал на листке рядом с таблицей букв три строки.

Для запроса на начало передачи — три длинных звонка.

Для указания готовности к приёму — один длинный звонок.

Для окончания передачи — два длинных звонка.

Длительность каждого из этих звонков была в два раза больше, чем длительность бита «1».

Затем он сказал:

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

Рассказав всё это, папа нарисовал схему:

— Так выглядит формальное представление алгоритма в специальной нотации, которая позволяет описывать взаимодействие нескольких лиц. Запоминайте эти хорошие слова: «алгоритм», «нотация» и другие. Потом они помогут вам понимать многие важные вещи.

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

Испытания телеграфа можно было считать пройденными. Я на радостях сфотографировал своё устройство и написал у себя в блоге, что мы сделали телеграф и уже его испытали. Через некоторое время один мой одноклассник ответил в комментариях, что я занимаюсь ерундой. Какой глупый…

Вечером папа задал мне странный вопрос:

— Как ты думаешь, почему я купил пять лампочек на замену тем, которые у нас выйдут из строя?

Я только пожал плечами. Тогда папа объяснил, что он примерно посчитал, сколько за всё лето мы передадим друг другу символов, потом разделил это число на среднее количество включений и выключений, которое может выдержать лампа, и получил число пять. Потому он на всякий случай купил именно пять ламп. Это было вполне логично. Но он снова спросил:

— Как ты считаешь, что вероятнее: у одного из вас перегорит одна лампа, а у второго четыре, или у одного перегорит две, а у другого три?

Здравый смысл подсказывал мне, что вероятнее второй вариант, но отец попросил меня посчитать это точно. Для этого надо было рассмотреть разные варианты последовательного перегорания лампочек: от ККККК (все пять лампочек перегорели только у Кирилла) до ЕЕЕЕЕ (то же самое произошло у Екатерины).

Из дневника Кирилла:

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

Оказывается, в математике встречаются одинаковые вещи, которые с первого взгляда могут показаться совсем различными. Папа рассказывал мне нечто похожее про топологию. Как интересно!

Или папа специально подгадал и купил именно пять лампочек, чтобы я на практике убедился в этом?

Глава 5

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

— Привет, Кирилл. Как дела? Прием!

Я обрадовался. Мы договорились через полчаса встретиться на велосипедах в центре села около магазина, чтобы покататься по окрестностям. Я собрался показать Кате интересные места.

Сказано — сделано. Скоро мы уже катили в сторону школы, поскольку решили посмотреть на Школьный пруд. По пути я показывал разные места в деревне и рассказывал о них. Мы увидели крест на холме, на том месте, где был клуб, который потом сгорел, школу, дом «председателя». Затем мы подъехали к пруду. По сравнению с Новым прудом он оказался не таким уж большим.

Катя опять удивилась, откуда я всё это знаю, если приехал в эту деревню впервые. Я стал отшучиваться, а потом серьёзно задумался. Всё вокруг живо присутствовало в моей памяти, но при этом я даже не мог точно сказать, не проводит ли сейчас отец свои эксперименты надо мной. Как можно определить, реальность перед глазами или сон? Я не мог ответить на этот вопрос. Какой способ проверки мне ни приходил в голову, я сразу обнаруживал что-то подобное именно в наведённой памяти.

Катя начала тормошить меня и спрашивать, что случилось. Я просто махнул рукой и сказал, что накатили воспоминания. Потом мы поехали вокруг деревушки, чтобы въехать на Конторскую улицу с обратной стороны. Это заняло у нас порядочное время, Катя подустала и постоянно останавливалась. В конце концов, мы спешились и сели отдыхать в тени деревьев. До дома тёти Кати мы дошли пешком, ведя велосипеды рядом с собой.

Когда тетя Катя увидела Катю, то разулыбалась:

— Вот и невеста!

Я смутился, а Катя фыркнула. Потом я заявил:

— Это Катя, она моя сестра.

— Ох, тоже? И я Катя.

Потом тётя Катя спросила, как это мы определились, что мы брат и сестра. Я как смог вспомнил и пересказал ей папины слова по этому поводу. Тётя Катя ответила, что сама она из другой семейной линии, поэтому не очень знает обо всех этих взаимоотношениях. Но отцу моему в этом деле можно верить, как никому другому, поскольку именно он в своё время рисовал большое генеалогическое древо всех наших родственников.

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

Я решил сделать как он и распланировать свои дела на день, неделю и так далее, определяя долгосрочные цели. Взяв блокнот и карандаш, я задумался. Какие цели можно было бы поставить на это лето? Первое, что пришло в голову, — закрепить знания по криптографии, а это можно сделать как на практике, так и читая дополнительную литературу. Без отца доступ в интернет очень ограничен, так что новые материалы я доставать не мог. А вот практикой можно позаниматься.

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

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

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

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

И вот у меня в руках оказался сложенный листок бумаги. Я развернул его и увидел:

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

Расшифровка заняла у меня не больше часа. Конечно, очень помогли первые два слова, которые Катя так неосмотрительно написала. Но в итоге в расшифрованном алфавите не хватало нескольких букв, поэтому ответ мне надо было написать так, чтобы эти буквы в нём не использовались. Это я решил оставить на утро.

Прямо за завтраком я начал составлять ответное письмо. Тётя Катя надела очки и всмотрелась, но потом сказала, что ничего в этом не понимает. Потом добавила:

— Твой отец в детстве тоже всякие такие штуки делал. Ох и непрост был.

— Да он и сейчас непрост.

Мы с тётей Катей посмеялись, я доел кашу, выпил стакан молока и дописал ответ. Получилось неплохо:

Ближе к обеду я вручил письмо Кате. Когда она увидела его, то изменилась в лице, убежала в дом и долго не показывалась. Когда она вышла, я был немного ошарашен — она стала какая-то покрасневшая, взбудораженная. Но потом Катя успокоилась, села на скамейку и попросила меня объяснить, как я это сделал. Похоже, она действительно считала, что этот её «тайный язык» невозможно взломать. Я сказал:

— Вот я и предлагаю научить тебя всему тому, что умею я.

Она согласилась.

— Но перед тем, как мы начнём, покажи мне символы для оставшихся четырёх букв, которых не было в твоём письме, то есть Ф, Ц, Щ и Ъ.

Катя нарисовала:

Что ж, по крайней мере, все символы выполнены в одном стиле.

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

Мне хотелось самостоятельно (а не в наведённых воспоминаниях) составить таблицу частот букв для русского языка. Тем более что готовой у нас сейчас не было. Но, поразмыслив, мы решили найти таблицу в интернете. Хотя канал был очень слабым, нам удалось получить нужную информацию, и я выписал все частоты к себе в рабочий блокнот.

Катя поначалу всё равно была настроена скептически, потому что метод частотного анализа на двух наших записках сразу же показал очень неоднозначные результаты, и если бы не первые два слова, то ещё неизвестно, сколько бы времени я промучился. Но потом я убедил её, взяв текст побольше из какого-то журнала — в нем количества букв очень хорошо сошлись с частотами, полученными из интернета.

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

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

Из дневника Кирилла:

11 июня. Ночью мне приснился сон, в котором я не мог решить задачу и мучился. Задача состояла в том, чтобы уравновесить весы при помощи металлических шариков. Но все шарики имели различный вес: я не смог найти и двух одинаковых среди всей россыпи. И вот я подбирал шарики, но весы так и не уравновешивались. Я проснулся с чувством, что не доделал какое-то важное дело, про которое никак не мог вспомнить.

Из-за странного сна, который буквально опустошил меня, я не мог сосредоточиться всё утро. Папа рассказывал, что он часто решает сложные задачи при помощи этого метода: перед засыпанием загружает свой мозг размышлениями о задаче, а наутро решение находится само собой. Будто бы так работает русская поговорка «утро вечера мудренее». Но у меня, похоже, ничего не вышло. Наоборот, выспаться не удалось, голова гудела, было как-то не по себе.

После завтрака приехала Катя, и я рассказал ей свой сон. Она задумалась, а потом спросила, почему я не смог решить эту задачу. Надо было на одну чашу весов класть самые тяжёлые шарики, а на другую самые лёгкие. Лёгких потребовалось бы намного больше, но в какой-нибудь момент всё бы сошлось. К этому времени в голове у меня чуть-чуть прояснилось, и я только посмеялся над её предложением. Вполне могло быть так, что остался бы последний шарик, который перевешивал то одну чашу весов, то другую (именно это меня и мучило во сне).

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

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

Я взял блокнот и выписал в порядке уменьшения частоты встречаемости все символы русского алфавита, начиная с пробела. Затем я разделил полученный ряд на две части, чтобы в каждой из них сумма частот равнялась примерно 50 %. Точно разделить не получилось, получилось вот так:

После этого я нарисовал первый уровень дерева выбора. Левая ветвь обозначала те символы, которые лежат слева от разделительной черты, а правая, соответственно, правые. Левую ветвь я обозначил символом «0», а правую — символом «1».

Затем каждую половину символов я разделил ещё на две части так, чтобы сумма частот каждой равнялась примерно 25 %. Сделать это точно оказалось ещё сложнее, так что получилось так, как получилось:

Я продолжал делить множества символов снова и снова пополам, чтобы при каждом делении получались два новых множества примерно с одинаковой суммой частот. К моему удивлению, множества, расположенные левее, быстро закончились, то есть я дошёл до отдельных символов. А вот множества с правой стороны делились несколько дольше. Соответственно, дерево выбора получилось не равномерным и симметричным, а скособоченным на правую сторону.

После этого пришло время собрать коды для каждого символа. Получилась вот такая таблица:

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

Катя предложила перевести двоичные числа в десятичные. Это сделать было несложно, но результат оказался какой-то странный. Пробел с очевидностью получил код 0, буква «О» получила код 1 и так далее по убыванию частоты. Дальше пошли разрывы в числах, они перестали следовать одно за другим, но порядок сохранялся. В итоге каждая буква получила соответствующее число, но я видел, что это обычный шифр одноалфавитной замены, а потому никакого смысла в переводе из двоичной системы в десятичную не было. Идея была в чём-то ином, но мы так и не смогли разобраться. Так что я отложил это до возвращения отца.

Дни были однообразны. Мы с Катей катались на велосипедах по окрестностям села. Я сопоставлял всё то, что вижу, со своими наведёнными воспоминаниями. Обычно всё совпадало в общих чертах, но детали, конечно, были мне в новинку. Катя вообще всё воспринимала как какую-то диковинку. Например, она удивленно рассматривала деревенских коров и коз.

Прошло три дня с того моего странного сна. Сегодня должен был вернуться папа. Я прямо с утра был в нетерпении и ничего не мог с собой сделать: постоянно смотрел на дорогу, ездил на велосипеде на край села и смотрел вдаль. Но отец не появлялся.

Он так и не приехал до самого вечера, и я пошёл укладываться. Он не отвечал на мои телеграммы, но я понимал, что он не может этого сделать за рулём. Но он мог бы уж остановиться и написать, чтобы я не волновался! В общем, я не получил никаких сигналов и в конце концов уснул.

Утром я проснулся и пошёл во двор умываться. Перед входом в дом стояла папина машина. Папа сидел в доме и что-то рассказывал тёте Кате. Когда я вошёл, он весело спросил, как мне жилось. Тётя Катя стала уверять, что мне было хорошо, что у меня здесь появилась невеста и что я могу оставаться у неё, а отец может уезжать. Я только фыркнул от негодования.

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

С собой папа привёз кучу разных вещей. Во-первых, всё заднее сиденье было уставлено бутылями с водой. Действительно, привезённая из города вода у нас уже почти закончилась. Хотя у тёти Кати я пил колодезную воду, но папа не советовал мне этого делать. Не знаю уж почему, ведь он в детстве пил ту же самую воду. Несколько часов мы выгружали эти бутыли в подсобку нашего штаба.

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

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

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

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

— Ты лучше скажи, для чего это нужно. Ведь мы с Катей не смогли придумать, как использовать новый код.

— Это потому, что у вас не было под рукой телеграфа. Если бы попробовали отправлять сообщения при помощи этого нового кода, то сразу поняли бы.

— И все-таки расскажи, пожалуйста.

— Всё просто. В том коде, который я вам дал, каждая буква представлена пятью битами. А в твоём коде длина представления буквы зависит от её частоты: чем чаще, тем короче. Теперь понимаешь?

— То есть для длинных передач моим кодом надо будет меньше раз жать на ключ, чем для передач твоим?

— Абсолютно верно. Давай попробуем. У Кати есть копия этого кода?

— Должна быть, она перерисовала его себе.

— Тогда включай телеграф и вызывай её.

Прежде всего я закодировал при помощи нового кода сообщение: «КАТЯ ПРИЕЗЖАЙ ПАПА РАССКАЖЕТ НОВУЮ ТЕМУ». Получилось довольно длинно и необычно. Я включил телеграф и передал сигнал начала сессии. Пять минут не было никакого ответа, и тогда я снова передал этот сигнал. На этот раз ответ пришёл через две минут. Что ж, алгоритм установки сессии работал.

Я передал подготовленный шифр и стал ждать. В ответ пришло сообщение: «01101 01000 10111 00101 00011 01110 01101 00101 01111 01110 01101 01000 01100 00000 11110», что соответствовало тексту «НИЧЕГО НЕ ПОНИМАЮ». Тогда я передал обычным кодом: «ИСПОЛЬЗУЙ НОВЫЙ КОД». Через какое-то время пришло сообщение: «0100 11001 11010 11111100 11001 0110 1000 0100», что при декодировании новым кодом значило «ЕДУ ЖДИТЕ».

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

Папа рассказывал:

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

Папа расхаживал из стороны в сторону:

— Только в середине прошлого века были разработаны научные основы передачи информации. Основоположником теории информации стал Клод Шеннон, который опубликовал несколько фундаментальных статей по криптографии и кодированию.

Затем он взял мой блокнот и раскрыл его на той странице, где был записан придуманный мною код. Отец продолжил свой рассказ:

— То, что вы придумали, впервые было разработано Клодом Шенноном. Другой учёный, Роберт Фано, создал то же самое независимо от Шеннона, поэтому код носит двойное имя: Шеннона — Фано. Этот код — сжимающий и, как вы сами поняли, он основан на частотности символов: чем чаще встречается символ, тем короче его код. Но он также префиксный, то есть ни один код символа не является началом другого, и это свойство удобно использовать при декодировании. Можно посылать поток символов без разделения, а отделять для декодирования надо начальные биты последовательности, и это произойдёт однозначно. Давайте попробуем сделать это с какой-нибудь фразой.

Папа быстро написал на чистом листке последовательность бит без разделителей: 01100111111111100001101011000010110000110101110101. Но действительно, её декодирование было простым и однозначным. Мы с Катей закончили работу над этим упражнением практически одновременно. Тогда папа продолжил:

— Наверняка, когда вы считали частоты и их суммы, вы столкнулись с тем, что разделить пополам сумму частот было трудно. Суммы всё больше и больше не совпадали. Поэтому-то код Шеннона — Фано не считается оптимальным. Давайте я научу вас другому коду, у которого нет такого недостатка.

Папа открыл чистый лист и на самом верху вновь написал буквы русского алфавита и пробел в порядке убывания частоты. Затем под каждым символом он поставил его частоту. После этого начал своё объяснение:

— Будем строить дерево, как построили вы, но немного иное. Строить его будем снизу вверх, а не сверху вниз. Для этого возьмём два символа с самой маленькой частотой появления — Э и Ъ. Для них определим новую вершину, которую назовём «ЭЪ», и припишем ей значение частоты, равное сумме значений Э и Ъ. Соответственно, точно так же, как и в вашем алгоритме, из этой вершины ветвь налево пометим битом 0, а направо — битом 1. Затем новый символ «ЭЪ» со своей частотой вставим в список на своё место по порядку частоты, а два символа «Э» и «Ъ» из этого списка вычеркнем.

Папа быстро нарисовал начальное состояние дерева и перечислил новый список. Пока что было не очень понятно, чем такой способ отличается от нашего.

Но папа продолжал:

— Эта процедура повторяется до тех пор, пока не останется единственная вершина, включающая все символы, и частота которой равна сумме всех частот. Получается двоичное дерево, и у его вершин слева всегда бит «0», а справа — «1». И код для каждого символа собирается так же, как и в вашем случае: при переходе от вершины дерева к его листу, означающему конкретный символ, одна за другой собираются все биты ветвей, по которым совершается переход. Этот код называется кодом Хаффмана в честь предложившего его Дэвида Хаффмана. Теперь давайте построим такое дерево и соответствующие коды для частот символов русского языка и посмотрим, что получится.

Папа раздал нам листки с записанными частотами символов, и мы втроём погрузились в вычисления. Конечно, папа сделал эту работу первым. Я сделал вторым, а Катя задержалась, но в конце концов и у неё получилось. Мы сравнили результаты, и они у всех троих оказались одинаковыми:

По этому дереву легко было вычислить новые коды для каждого символа. Надо было только всегда помнить, что линия налево обозначает «0», а линия направо — «1». Так что, например, букве «Р» соответствовал код 00011, а букве «З» — 101110. В итоге у нас получилась вот такая таблица:

После этого папа предложил:

— Теперь давайте возьмём какое-нибудь сообщение и сравним его длину в трёх наших кодировках. Я посчитаю длину для самой первой кодировки, Екатерина — для кодировки из сна Кирилла, а Кирилл для только что построенной. А в качестве сообщения возьмём такую фразу: «На колоссальной дощатой террасе близ палисадника веснушчатая Агриппина Саввична потчевала исподтишка коллежского асессора Фаддея Аполлоновича ветчиной, винегретом и другими яствами под аккомпанемент виолончели и брандспойта».

Мы с Катей переглянулись. Отец явно наслаждался нашим впечатлением и смотрел на нас, широко улыбаясь. Я сказал:

— Папа, я половину слов не понял, а вторую половину не расслышал. Что ты такое придумал?

— Это фраза для проверки грамотности. Я своим сотрудникам устраиваю такие диктанты, чтобы не расслаблялись.

— Может быть, что-то другое попробуем закодировать? А то мы до вечера провозимся.

— Хорошо, давайте другое. Предлагаю такое сообщение: «ЗАВТРА В ПЕРВОЙ ПОЛОВИНЕ ДНЯ МЫ СОБЕРЁМСЯ ВТРОЁМ И ОТПРАВИМСЯ НА ГАРЕТОЕ ПРОВЕРИТЬ КАК ТАМ ВОДИЦА». И при этом подсчитаем только буквы, не будем считать пробелы.

Это была прекрасная фраза — не только своей простотой, но и обещанием интересного завтрашнего дня. Мы с энтузиазмом принялись за работу.

Конечно, папа подсчитал число бит самым первым. Ему и нужно-то было только умножить количество символов в сообщении на пять. А вот мы с Катей помучались. В итоге получилось так:

Пятибитный код: 485 бит.

Код Шеннона — Фано: 373 бит.

Код Хаффмана: 375 бит.

Папа озадаченно покачал головой и сказал, что иногда такое происходит, поскольку для некоторых редко используемых букв код Хаффмана использует более длинные последовательности бит, нежели код Шеннона — Фано, и, похоже, это как раз наш случай. Однако это упражнение показало нам, что два кода, которые папа назвал «сжимающими», действительно позволяют использовать меньше бит для передачи сообщений.

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

Глава 6

Как и планировалось, сразу после завтрака мы сели на велосипеды, заехали за Катей и отправились на Гаретое. Ехать надо было порядочно, но расстояние мы преодолели быстро — и нам открылась водная гладь, с которой не мог сравниться ни один пруд в селе. Папа сказал, что это торфяное болото, каких много в округе, а название своё оно получило из-за того, что в своё время весь торф здесь выгорел. Теперь тут довольно чистая вода, а поскольку деревенский скот сюда не доходит, местные жители предпочитают купаться в Гаретом, а не в прудах.

Вода оказалась не то чтобы тёплой, но и не холодной. Болото было совсем неглубоким, так что солнечные лучи хорошо прогревали воду за день, но утром было зябко. Папа же сказал, что иногда под вечер вода здесь становится тёплой, как парное молоко.

Мы решили окунуться. Я забрел далеко от берега, но вода была мне только до пояса. После этого папа сказал, чтобы я не шел дальше, потому что там могут быть омуты. Сам папа поплыл к тростнику, стоявшему стеной метрах в пятидесяти. Мы с Катей начали брызгаться, но вскоре это нам наскучило, так что мы вернулись к берегу.

Отец притащил из тростников какой-то жёлтый цветок на длинной мясистой ножке и вручил его Кате. Та с улыбкой поблагодарила, но тут вдруг взглянула на меня и страшно завизжала. Даже лицо у нее побелело от ужаса. Мои барабанные перепонки готовы были лопнуть. Отец подскочил ко мне и снял с моей левой ноги чёрное склизкое существо.

Я обернулся и увидел, что по моей ноге потекла струйка тёмно-красной крови. Тут уж я и сам испугался. Папа раскрыл ладонь: на ней сжимался и извивался жирный чёрный червь. Катя продолжала визжать. Отец цыкнул на неё, и это помогло.

Это была обыкновенная конская пиявка. Спасибо отцу — не предупредил нас, что это болото просто кишит пиявками, и именно поэтому домашние и дикие животные не заходят в эту воду.

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

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

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

Из дневника Кирилла:

17 июня. Вообще я очень зол на папу. Мне кажется, что он специально не предупредил нас, что в этом болоте много пиявок. Из-за этого всё и случилось. Теперь у меня жутко чешется нога вокруг ранки, но я боюсь сорвать болячку, а то опять кровь будет течь и не останавливаться.

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

Но что-то больше купаться там не хочется. А где купаться, если другие водоёмы грязные?

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

У нас накопилось примерно двадцать пустых пятилитровых бутылей из-под воды, и я всё не понимал, зачем папа их копит, собирая в подсобке. Теперь всё встало на свои места. Получается, он всё опять спланировал со своей непременной расчётливостью.

Папа, как обычно, нарисовал чертёж будущего плота и рассчитал количество «стройматериала». Оказалось, что нам потребуется не менее тридцати бутылей, а столько мы ещё не использовали. Но все же мы начали делать плот.

Для этого мы нашли два толстых бревна, от которых пришлось отпилить лишнее. Оба бревна мы отвезли на машине на болото. Там же мы собрали доски, которые должны были стать нижней и верхней поверхностями плота, и все пустые бутыли.

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

Отец столкнул наше изделие в воду, а потом взгромоздился на него. На удивление, плот стоял очень устойчиво, а верхняя поверхность находилась над водой.

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

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

Однако и на следующий день папа не дал нам покататься на плоту. Вместо этого он предложил нам поехать в краеведческий музей в Моршанск. Я вообще не люблю ездить, но Катя сразу же поддержала отца. Вместе они убедили меня, что сидеть сиднем в деревне не очень хорошо и надо немного прогуляться, поездить по окрестностям. А уж посещение краеведческого музея — тем более хорошее дело, ведь в нем можно узнать много нового о тех местах, где мы сейчас находимся. Нехотя я согласился.

Мы погрузились в машину и отбыли. Катина бабушка дала нам на дорогу гостинцев и попросила приехать к обеду. Папа рассчитывал обернуться за пять часов. Примерно так и вышло.

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

Я заметил, что отец долго рассматривает один экспонат. Я подошёл к нему и увидел, что он глядит на разрезанные кусочки какой-то грамоты или письма. Табличка гласила, что этот документ найден в усадьбе графа Воронцова-Дашкова в Новотомниково и, вероятно, это какой-то ребус или детская головоломка. Папа сказал:

— Тебя ничего не смущает?

Я внимательно изучил экспонат. Это был набор бумажных фигур разной формы, на каждой из которых были написаны ряды чисел. Что-то мне это напомнило. Разрезанная шифровка? Я ответил:

— Это напоминает то письмо из наведённого сновидения, которое надо было собрать по кусочкам и составить в правильном порядке.

Отец согласился и сказал, что надо бы раздобыть копию этих кусочков, чтобы у нас с Катей была интересная задачка для занятий.

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

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

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

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

— Но вы же дадите и нам такую возможность?

— Отчего бы не дать? Вам даже снимать копии не придётся, поскольку они уже сняты.

Папа сказал, что был бы рад получить не только распечатки этих изображений, но и сами файлы по электронной почте. Он протянул директору свою визитную карточку, и тот с удивлением произнёс:

— Руководитель научной лаборатории? Так, очень хорошо. Что-то не слышал я про вашу лабораторию. Чем вы занимаетесь?

— Это небольшая лаборатория, в которой мы работаем во многих направлениях современных научных и прикладных исследований. В первую очередь это искусственный интеллект и всё, что с ним связано. Также мы изучаем квантовые вычисления. Так, всего понемногу.

Директор с интересом посмотрел на моего отца, а тот улыбнулся и повторил:

— Так мы сможем получить материалы для исследований?

— Да, да. Конечно.

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

— Эти части шифровки или чего бы то ни было мы нашли в этой коробке.

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

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

Дома папа первым делом зашёл в свой почтовый ящик и к общему восторгу обнаружил письмо из Моршанского краеведческого музея. В письме были иллюстрации. Мы вновь в самом хорошем качестве увидели найденные в музее кусочки головоломки:

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

* * *

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

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

— Знаешь, а это интересная идея. Я сам до неё не додумался. А подсчитай-ка площадь коробочки и общую площадь всех элементов?

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

— Давай-ка всё это сюда. Пошли к компьютеру, я как раз написал программу, которая ищет варианты плотной упаковки элементов в коробку.

Я удивился: неужели за эти пятнадцать минут папа успел осмыслить задачу и написать программу? Но спорить я не стал, собрал вырезанные элементы и вошёл внутрь штаба.

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

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

— Есть! Давай сюда свою модель.

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

— И как у тебя это получилось?

— Я написал программу, она сделала поиск плотной упаковки и выдала результат.

Это немного расходилось с моими представлениями о программировании и программах. Для меня программа — это мобильное приложение в смартфоне или на планшете, а сейчас папа уверяет, что в этом чёрном окошке с зелёными буквами он увидел какой-то результат. Но там были только числа. Я понял бы, если бы программа нарисовала эти элементы головоломки и показала, как их складывать. Но папа продолжил:

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

Я не стал спорить. В этот момент подъехала Катя. Она посмотрела на результаты нашей работы и надулась, что мы не подождали её. Папа похлопал её по плечу и утешил: ничего особенного она не пропустила, зато сейчас можно начать решать загадку.

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

Тогда папа взял у меня блокнот и перепечатал числа в компьютер. Через пару минут он показал нам гистограмму распределения частот встречающихся чисел, и эта гистограмма состояла из большого числа столбиков примерно одинаковой высоты. Сразу же стало понятно, что если это какой-то шифр, то это совсем не шифр одноалфавитной или многоалфавитной замены, поскольку использовалось очень много чисел — намного больше, чем букв в русском языке. Или это не русский язык? Но всё равно очень много различных чисел. В каком языке так много различных символов? Я смог вспомнить только японский или китайский. Но откуда в тамбовских деревнях позапрошлого века взялись японцы? Конечно, надо проверять все гипотезы. Однако больше всего беспокоило примерно одинаковое количество каждого из используемых чисел.

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

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

Катя ответила:

— Потому что количество разных букв в текстах разное.

— Да, примерно так. Но ты очень смутно выразилась. На самом деле потому, что у каждого символа есть определённая частота появления в текстах, и при помощи сравнения частот в шифрограмме со статистически установленными частотами букв шифрограмму можно взломать. Это понятно?

Мы с Катей согласно кивнули. Ну, мне-то это было давно известно, а Катя, надеюсь, поняла мои объяснения. Отец продолжил:

— А теперь давайте сделаем такой финт. Возьмём, скажем, сто чисел от 00 до 99, то есть все двузначные числа. Для каждого символа русского языка, то есть всех букв и пробела, как мы договорились, назначим случайным образом такое количество символов, которое примерно соответствует частоте символа. Например, пробел имеет частоту 14,55 %, так что пятнадцать случайно выбранных чисел из множества от 00 до 99 будут обозначать пробел. Буква «О» имеет частоту 9,96 %, поэтому этой букве будет соответствовать десять случайно выбранных чисел, которые не совпадают с числами для пробела. Екатерина, если буква «Е» встречается в языке с частотой 6,62 %, то сколько случайно выбранных чисел ей будет соответствовать?

— Семь.

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

Мы с Катей внимательно слушали, я даже записывал в свой блокнот. Между тем папа продолжил:

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

Я задумался. Если всё делать так, как разъяснил папа, то получается, что для частых букв будет использоваться больше различных чисел, а для редких букв вообще всегда может использоваться одно и то же число. Но что это значит? Я предположил:

— Может быть, частоты всех символов из шифрограммы будут примерно одинаковы?

— Точно! Абсолютно верно! И потому гистограмма будет выглядеть как столбики примерно одинаковой частоты. Надо учесть, что среди этих столбиков могут попадаться пустышки, которые шифровальщик будет равномерно расставлять в тексте. Это очень затруднит дешифровку. А как производится расшифровка, Екатерина?

Катя нахмурилась и долго размышляла. Потом сказала:

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

Папа даже вскинул руки в восторге и воскликнул:

— Конечно! Если каждой букве соответствует множество чисел, то каждому числу соответствует одна и только одна буква, а потому расшифровка происходит очень просто. А вот дешифровка связана с серьёзными затруднениями. Кирилл, к слову, ты можешь пояснить разницу между расшифровкой и дешифровкой?

— Расшифровка — это когда у нас есть ключ, и мы по нему переводим шифрограмму в открытый текст. А дешифровка — это когда у нас нет ключа, но мы взламываем шифрограмму и находим открытый текст.

Отец улыбнулся и сказал:

— Я смотрю, ты используешь правильную терминологию. Наши занятия пошли впрок. Ты — молодец! Катя, ты тоже умница. Просто мы с Кириллом уже занимались этими вопросами, поэтому он может многое знать из того, что тебе ещё неизвестно.

Катя ответила, что она это уже давно поняла. Тогда папа продолжил:

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

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

* * *

Между тем плот на Гаретом должен был напитаться водой. Вечером того же дня мы решили испытать его. Мы поехали к водоёму и увидели, что плот всё так же качается на волнах, принайтовленный к жерди. Папа привёз с собой ещё несколько пустых бутылей и засунул их внутрь плота. Он и так нормально держался, но лишние бутыли точно не помешают.

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

Как отец и предполагал, доски набухли от влаги и расширились. Верхняя палуба была почти ровной, и на ней даже не было воды. Солнце уже нагрело доски, стоять становилось тяжело. Мы решили искупаться.

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

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

Глава 7

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

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

Мы перешли в наш штаб и расположились на скамейке. Я спросил:

— Папа, как можно получить частоты для сочетаний из двух символов? Ты мог бы написать программу, которая их посчитает?..

Внезапно из штаба раздался долгий сигнал телеграфа. Он звучал и звучал, не прерываясь. Папа посмотрел на Катю, та только пожала плечами. Тогда он вскочил и сказал, чтобы я быстро бежал в берёзки и открывал калитку. Сам он бросился в штаб. Катя ошалело смотрела на нас.

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

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

Отец приложил пальцы к шее старушки, потом стал прощупывать пульс на запястье. Затем он крикнул нам, чтобы мы бежали вперед и широко открыли все двери на пути, в том числе и в машине. Сам он схватил бабушку на руки и двинулся за нами. Он попытался осторожно положить её на заднее сиденье, но получилось это кое-как. Потом он сказал:

— Садитесь оба на переднее, быстро!

Катя была бледная, но, похоже, не до конца понимала, что случилось. Впрочем, я тоже не понимал. Папа опять рванул по просёлочным дорогам, и на этот раз мы мчались в какие-то дебри. Альдию мы проскочили минуты через три, еще через пять показалось другое село, но мы опять проехали мимо.

На развилке к Моршанску папа свернул в другую сторону. Ещё через несколько минут мы въехали в очередное село. Папа резко затормозил около какой-то женщины и крикнул:

— Госпиталь, где госпиталь?

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

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

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

Мы пошли на улицу. Катя наконец осознала тяжесть положения и стала всхлипывать. Отец достал из автомобильной аптечки какие-то маленькие жёлтые таблетки и велел Кате проглотить две штуки. Та, не думая, подчинилась.

Потом мы сели на лавочку, и папа спросил у Кати телефонный номер кого-нибудь из её родителей. Но Катя ничего не помнила, а свой телефон в суматохе оставила дома. Кстати, дом мы не закрыли. Ни наш, ни её. Тогда отец позвонил тёте Кате, объяснил, в чем дело, и попросил сходить домой к Кате и найти её телефон. Та поохала, поахала и пошла.

Примерно через полчаса вышла фельдшер и сказала, что они разобрались в ситуации. У старушки предынфарктное состояние и гипертонический криз. Учитывая ее возраст, дело непростое. Они уже привели её в чувство, но она пока ничего не помнит и очень слаба. Так что бабушка должна остаться под наблюдением в больнице, а может быть, её даже перевезут в Моршанск.

Тем временем позвонила тётя Катя. Она нашла мобильник Кати и продиктовала номер телефона Катиного папы, Николая Калганова.

Набрав номер, папа сначала долго пытался объяснить, кто он такой и что случилось, затем передал трубку Кате. Та сбивчиво рассказала о наших утренних приключениях, потом отдала телефон обратно отцу, и тот договорился о дальнейших действиях. Решили, что Катины родители приедут завтра утром. А пока нам пришлось возвращаться домой, так как увидеть Катину бабушку нам всё равно не разрешили.

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

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

Из машины вышел высокий мужчина, который недоверчиво и пристально посмотрел на отца. Они подошли друг к другу и пожали руки. Потом мужчина сказал:

— Нет, извини. Не помню.

Отец засмеялся и сказал, что это не важно. Дескать, все в этой деревне так или иначе родственники, а потому разбираться в генеалогии сейчас нет никакого смысла, а лучше поехать за Катей, а потом в Новотомниково, чтобы узнать, как там бабушка. Мы с папой сели на велосипеды и поехали к тёте Кате, а Катины родители поехали на машине за нами.

Катя выбежала из дома и сразу бросилась в машину к своим родителям. Там она, по-моему, всплакнула. Я решил её не тревожить, поэтому ушёл в амбар и валялся там на душистом сене, играя на планшете. Отец предложил мне поехать в Новотомниково в больницу, но я решил отказаться. Он не стал настаивать, а потому я на день остался в гостях у тёти Кати.

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

Что ж, по крайней мере, это были интересные деньки. А теперь надо подумать, как быть дальше.

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

* * *

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

После завтрака мы перенесли всё в берёзки. Тут я начал догадываться, что задумал отец. Сам-то он не говорил, а я не спрашивал, поскольку решил посмотреть, что будет. А вышло именно то, что я предполагал: мы начали делать что-то вроде домика на дереве. Отец выбрал самую толстую берёзу, и на высоте примерно четырёх метров, в развилке толстых ветвей мы начали делать настил из досок. Я воодушевился — это было действительно круто.

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

Вечером я спросил:

— Папа, скажи, а ты сейчас в отпуске?

— А ты почему интересуешься?

— Ну, просто, ты делаешь что хочешь. Ездишь купаться, со мной занимаешься всякими делами, учишь нас, опять же. Всё это не похоже на работу.

— А у меня работа такая — делаю что хочу. Что придёт в голову, то и работа.

— Интересно. А так можно?

— Ну как видишь.

— А если серьёзно?

— Если серьёзно, то моя работа предполагает много мыслительной деятельности, а это значит, что я, во-первых, могу находиться там, где мне удобно размышлять, а во-вторых, делать то, что мне помогает лучше размышлять. Физическая работа и жизнь вдали от городской суеты на свежем воздухе — это прекрасная возможность усилить умственные способности и активизировать генератор идей, который начинает выдавать всё новые и новые мысли, которые можно будет превратить в изобретения и разного рода полезные штуки.

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

На следующий день мы доделали всё, что запланировали. Мы спустили верёвочную лестницу и вскарабкались по ней в наш новый домик на дереве. Тут же мы поняли свою главную ошибку — домик раскачивался из стороны в сторону, поскольку был закреплён только в центре пола, около люка. Если кто-то приближался к краю, то вся конструкция жутко кренилась, грозя упасть. Мы сразу же слезли. Надо было что-то делать, ведь не зря же мы потратили почти два дня на строительство.

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

Потом мы долго бродили по лесу, и отец искал не тронутые гнилью толстые берёзовые брёвна. Оказалось, что такими могут быть только стоящие сухие деревья. Если дерево уже повалилось на землю, то всегда выяснялось, что оно гнилое. Я уже потерял счёт времени, когда мы наконец-то нашли четвёртое бревно достаточных размеров. Все эти находки мы вынесли туда, где оставили велосипеды. К счастью, отец не собирался везти их домой на велосипедах, так что мы просто спрятали бревна, закидав листвой и травой.

Когда мы ехали назад, отец внезапно сказал:

— Знаешь, по современным законам мы сейчас стали преступниками.

Я удивлённо посмотрел на него, а он продолжил:

— Если бы нас за этим занятием поймал какой-нибудь егерь, то мог бы нас арестовать. В лесу нельзя валить даже сухие деревья. И собирать хворост так просто нельзя.

— Но почему? Что это за бред?

— А вот так вот. Наши законы очень бездумно принимаются. Какой-нибудь бывший троечник напишет проект закона. Учесть все возможные варианты развития ситуации он не может. Потом этот закон примут, подпишут, и в таком виде спустят для исполнения. И пройдет много времени, пока обнаружат правовые коллизии и несоответствия, внесут поправки и изменят закон в нужном направлении. А всё почему? Потому что человек уже не может охватить разумом все хитросплетения законов и всяких нормативно-правовых актов, регулирующих все возможные виды деятельности. И получается, что в одном месте что-то поправят, а в другом после этого обнаружится новая коллизия.

— И как быть?

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

Остаток пути мы проделали в молчании. Я размышлял о том, что сказал отец. В последнее время он часто стал упоминать «искусственный интеллект», при этом не объясняя, что это такое. Видимо, настало время разузнать более подробно, раз он хочет заменять им людей. Я решил, что завтра поговорю с ним на эту тему.

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

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

Честно говоря, это новое занятие полностью поглотило меня, и я не успевал думать, что в деревне стало неинтересно. Я даже был благодарен папе, что он решил строить домик на дереве. Но и это дело опять подошло к концу. Я ложился спать с тяжёлыми думами.

Назавтра мы поехали в Новотомниково. Во-первых, папа хотел проведать Катину бабушку, поскольку она лежала в больнице уже пять дней, и уже должна появиться какая-то определённость. Во-вторых, он планировал купить в хозяйственном магазине краску для нашего домика на дереве. На этот раз мы ехали медленно, чтобы поберечь машину на всех этих ухабах, так что у меня было время рассмотреть всё вокруг.

Мы доехали до больницы в Новотомниково, и моё сердце ёкнуло от радости. Около неё стояла машина родителей Кати. Папа подъехал и встал рядом.

Мы зашли в больницу. Катя с родителями сидела около столика медсестры, а рядом с ними сидела и её бабушка. Отец неспешно отправился к ним. Катя увидела меня и расплылась в улыбке. Я тоже улыбнулся.

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

Отец, выслушав это, сказал, что есть службы, которые позволяют автоматизировать процесс. Но Катины родители его слушать не стали. Они собирались перевозить бабушку в Самару (оказалось, что они и Катя из Самары, а я этого и не знал). Тем временем Катя подошла ко мне и заговорщицки сказала:

— Я упросила родителей оставить меня в деревне.

Я обрадовался, поскольку это все возвращало на свои места. Мы могли и дальше вместе изучать новые вещи, которые объяснял нам папа. Но тут Катя посерьёзнела и сказала, что вопрос пока обсуждается: непонятно, где она будет жить. Но на это я сказал, что жить можно у тёти Кати: получится две Кати — старая и малая. Мне казалось, что наша родственница будет только рада. Как ни странно, когда родители Кати спросили, отец, не думая ни секунды, предложил тот же вариант.

Потом мы заехали в магазин и купили три банки краски: белую, чёрную и зелёную. К этому времени Катины родители завершили необходимые дела, так что мы сели по машинам и поехали в Раёво. Бабушку, конечно же, пока оставили в больнице: родители Кати хотели лично увидеть, где будет жить их дочь, и познакомиться с тётей Катей.

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

* * *

В общем, Катя осталась. Жизнь в деревне снова наполнилась смыслом. На следующий день Катя прямо с утра прикатила к нам, и я потащил её в берёзки, чтобы показать наш домик на дереве. Потом к нам пришёл отец, принёс краску и кисти и сказал, чтобы мы покрасили домик в защитную цветовую схему.

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

К вечеру всё было готово. Я отошёл на несколько десятков шагов от берёзок и попытался забыть, что там скрыт домик. Закрыв глаза, я попробовал очистить свою память. Потом я открыл глаза и посмотрел на деревья. С первого взгляда домика видно не было. Уже потом, если приглядываться, становилось понятно, что в листве что-то есть. Я решил, что этого достаточно, и мы вернулись к штабу. Папа, встретив нас, спросил:

— Покрасили? А как это будет выглядеть зимой?

А вот раньше он не мог этого сказать?! У меня самого этот вопрос из головы, конечно же, выпал. Катя тоже ничего не сказала. Но папа засмеялся и сказал:

— Ладно, на зиму мы его разберём и спрячем. А теперь давай проводим Катю и будем укладываться — завтра нам предстоит очень непростой день…

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

Они с коллегой о чём-то поговорили, потом отец показал тому хозяйство, они попили чаю с травами с нашей делянки, съездили искупаться на Гаретое, где плавали на плоту, а потом отец отправил гостя назад. Всё это произошло довольно быстро, еще до приезда Кати. Зато когда Катя приехала, отец сразу же вручил ей две новые рации, которые тут же настроил на нашу рабочую частоту и проверил. Просто прекрасно. Телеграфа у нас больше нет, зато есть рации для всей нашей компании в деревне. Конечно, Катя была в восторге.

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

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

Мы с Катей недоумённо переглянулись. Оказывается, мы занимались всякой всячиной! Надо же. Но отец продолжал:

— Обычно для дешифровки требуется большой корпус текстов, зашифрованных одним и тем же шифром, и уже в нем можно применять и методы частотного анализа, и подбор. Это долгая и скрупулёзная работа. Но у нас же есть компьютер!

Папа вынес на улицу свой ноутбук, повернул его к нам и продолжил:

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

Так, это уже очень интересно. Я давно знал, что папа интересуется генетикой, но всегда думал, что это что-то связанное с биологией и медициной. А тут у нас криптография и разгадывание старых рукописей. При чём тут генетика?

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

— Но я сказал «генетический алгоритм», а не «генетика». Слушайте дальше.

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

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

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

Всё это было довольно сложно, пока папа рассказывал о генетических алгоритмах абстрактно. Катя уже начала зевать, но тут папа резко встал и сказал:

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

Я задумался. Честно говоря, я уже окончательно запутался, поэтому в голову ничего не шло. Я повернулся к Кате, но она тоже смотрела на меня пустыми глазами. Тогда отец сказал:

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

Мы с Катей одновременно покачали головами. Это действительно было трудно. Отец вздохнул и попытался в третий раз:

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

Теперь мы кивнули. Это как раз было просто. Отец продолжил:

— Мы будем подбирать соответствия чисел буквам, а потом считать частоты букв в получившейся дешифровке. Если они примерно совпадают с эталонными частотами для русского языка, значит, мы нашли что-то похожее на ключ.

— А почему бы просто не смотреть на то, что получается в процессе подбора, и не искать глазами правильный текст?

Отец вздохнул и ответил:

— Но я же сказал, что это заняло бы у нас много-много веков, даже если бы мы сумели просматривать по одному варианту в секунду без перерыва на сон и обед. А компьютер сможет оценивать миллионы вариантов в секунду без нашего вмешательства. Итак, теперь есть идеи, что представляет собой ген в нашем случае?

Катя подняла руку, и отец кивнул ей. Она заявила:

— Я думаю, что ген в нашем случае — сопоставление чисел и букв.

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

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

Вообще говоря, я уже несколько притомился от папиных объяснений того, что совершенно непонятно. Судя по тому, как выглядела Катя, она тоже потеряла нить. Папа это заметил и сказал:

— Ладно, на сегодня хватит. Давайте я займусь программированием, а вы катайтесь на велосипедах и изучайте окрестности.

Так и решили. Мы с Катей поехали к тёте Кате, выпили у неё по стакану простокваши и отправились по Конторской улице до самого конца. Честно говоря, я был немного напряжён: наведённая память усиленно мне подсказывала, что это опасно. Но это была реальность, а потому я решил проверить, что же там на самом-то деле. Кате я ничего не сказал, поэтому она ехала весёлая и о чём-то болтала. Я же был погружён в свои мысли.

Мы доехали до того места, где по моим воспоминаниям должно было быть лесничество. Там действительно были какие-то старые дома, не похожие на жилые. Но в них давно никто не работал: окна были заколочены досками, всё заросло бурьяном. Конторская улица вела в лес, и здесь дорога действительно расходилась на три стороны. Как я помнил, мы с Марком шли вдоль ручья, когда наткнулись на то ужасное место. А ручей был слева, так что надо было повернуть на левую дорогу. Мы так и сделали.

Буквально через пару сотен метров показался ручей. Я остановился и сказал Кате, что здесь надо оставить велосипеды и пройтись по лесу вдоль ручья. Она спросила зачем, но я не мог объяснить.

Мы стали продираться по зарослям вдоль Раёва. Лес здесь был не то чтобы дремучий, но около ручья растительности было много. Мы шли и шли, и я действительно стал чувствовать себя первооткрывателем. Правда, никаких оврагов мы не обнаружили — ручей просто тёк по лесу. Ничего похожего на то жуткое место, которое, по словам отца, навелось из его древних страхов.

Мы повернули назад. Катя снова начала допытываться, что я хотел узнать. Я ответил, что отец рассказывал мне об интересном месте, в котором летом всё выглядит так, как будто бы уже наступила осень. Катя хмыкнула и заявила, что всё это враки и такого не бывает.

Мы ещё покатались, доехали до Гаретого, проверили наш плот, потом съездили на Кошеляевский пруд за школой и вернулись к тёте Кате. Она нас немного поругала, что мы не приехали к обеду, и упомянула, что мой отец тоже не приезжал. Это было странно. Я поел и поехал проведать папу. Интересно, что это он себе позволяет.

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

Из дневника Кирилла:

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

Папа попытался объяснить нам, как он будет взламывать найденную шифровку при помощи генетического алгоритма, но мы ничего не поняли. Всё как-то сложно. Почему надо придумывать какие-то гены в виде частот букв, если можно просто взять и перебрать всё по порядку?

Глава 8

Утром отец оказался в ещё более странном состоянии. Он сидел напротив своего ноутбука и раскачивался из стороны в сторону. Мне подумалось, что он не ложился спать этой ночью. Я окликнул его, и, к моему удивлению, он сразу же отозвался:

— У нас так просто ничего не получится. Алгоритм постоянно залипает в локальных экстремумах. Настройка частоты мутаций практически ничего не даёт.

Я ничего не понял — только то, что у него ничего не получилось. Но, зная отца, я мог быть уверенным, что это временно.

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

— Пап, а ты спал сегодня ночью?

— Конечно. Почему ты спрашиваешь?

— У тебя был такой странный вид утром.

— Просто тяжело идёт. Не думал я, что это такая сложная загадка. Хотя… По словам директора музея, её многие пытались разгадать, но пока ни у кого не вышло. Неправильно было бы считать, что нам она поддастся сразу.

Я согласился. Потом сказал:

— Тебе надо отвлечься. Давай вместе покатаемся на велосипедах.

— Ты прав. Надо поездить по природе. Это помогает. Позови Катю, пусть приезжает. Съездим куда-нибудь вместе.

— Может быть, мы поедем к ней и покатаемся где-нибудь в тех местах?

— Тоже можно. Тогда скажи ей, чтобы была готова через полчаса.

И вот через полчаса мы встретились у ворот в тётушкину усадьбу. Втроём мы поехали дальше по Конторской улице, а когда подъезжали к лесу, я обогнал отца и повернул налево. Доехав до Раёва, я остановился и спешился. Все остановились вслед за мной.

Я сказал отцу:

— Теперь рассказывай. Почему ты говорил мне, что боишься этого места.

Отец улыбнулся. Он явно понял, что я нарочно сказал «говорил» о наведении воспоминаний, чтобы Катя не задавала лишних вопросов. Он тоже спешился и пошёл в лес, но я окликнул его:

— Погоди. Вчера, пока ты пытался взломать шифр, мы всё тут облазили. Здесь ничего нет, кроме ручья.

Тогда он сказал, чтобы мы ехали за ним.

Мы свернули на тропинку, которая вела к Гаретому. По ней мы тихонько проехали ещё метров пятьсот. Наконец отец остановился, оставил велосипед, и мы пошли пешком через чащу из молодых берёзок, которыми заросли все поля вокруг.

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

Он сказал:

— Много лет назад на этом дубе у нас был штаб. Там был построен небольшой домик вроде того, что мы сделали в берёзках. Из него было удобно наблюдать за окрестностями, потому что далеко видно во всех направлениях. Кроме одного. Пошли…

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

Отец остановился и обвёл руками вокруг:

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

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

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

Когда мы уже возвращались назад, я вдруг задал папе вопрос:

— Как ты думаешь, в каком году была написана шифровка, которую мы разгадываем?

Отец так нажал на тормоза, что его велосипед занесло и он чуть не упал. Он уставился на меня вытаращенными глазами и сказал только:

— Ты гений!

Мы с Катей тоже остановились. Отец продолжал:

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

Тут отец задумался и надолго погрузился в свой внутренний мир. Мы уже даже начали беспокоиться, но тут он снова вернулся к нам и сказал:

— Нет, впрочем, не так уж сильно я и ошибся. Если подумать, не должно быть никаких проблем с теми буквами, которые исчезли из алфавита с последней реформой русского языка. Ведь буква «ять» всегда заменяет букву «е», а потому сумма частот их в старом алфавите должна равняться частоте буквы «е» в новом алфавите. То же самое касается букв «и десятеричное», «ижица» и обычной буквы «и», а также букв «фита» и «ф». Только две детали не совпадают. Первая — речь тогда была немного другой, и это всё-таки должно влиять на частоту букв. А вторая состоит в огромном количестве твёрдых знаков. Они-то и портят картину.

Отец развернулся и поехал к дому. Мы поневоле поехали за ним, хотя, честно говоря, у меня было желание покататься ещё, а может быть, доехать до Гаретого, проверить плот и поплавать на нём. Но, похоже, отец был настолько поглощён новым открытием, что не обращал на нас внимания.

Катя спросила меня:

— Ты что-нибудь понял? Что это за «фиты» и «ижицы»?

— Раньше в русском языке были такие буквы. Давай доедем до дома и попросим моего папу, чтобы рассказал подробно.

Мы доехали до штаба, и папа хотел сразу же сесть за компьютер. Но я остановил его:

— Папа, расскажи нам про старый алфавит. Мы с Катей не понимаем, в чём вопрос и почему ты так возбуждён.

Он вздохнул и расположился на улице. Мы, как обычно, сели на скамейку и достали свои блокноты. Отец начал:

— Наши далёкие предки использовали для письма какие-то символы, про которые практически ничего неизвестно. В одной из летописей они называются «черты и резы», и некоторые исследователи поэтому утверждают, что символы каким-то образом были похожи на германские и скандинавские руны. Вы знаете, что такое руны?

Катя покачала головой, а я заявил:

— В некоторых компьютерных играх есть такие магические письмена. Они часто выглядят как будто бы из веточек деревьев сложены.

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

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

Дело в том, что эти буквы обозначали звуки «е», «ф» и «и», а в древности они обозначали схожие, но иные звуки, просто с развитием языка в разговорной речи это различие постепенно пропало, а в письменной осталось. И школьникам приходилось просто зубрить слова, где использовались эти буквы, поскольку на слух различить их было невозможно. А буква «и десятеричное» (которая выглядит как латинская i), использовалась только в позиции перед гласными буквами, буквой «Й» и в слове «мир» в значении «Вселенная». А ещё на конце слов, оканчивающихся на твердую согласную, писался твёрдый знак. Это всё было наследие древних времён, когда буквы «Ь» и «Ъ» обозначали специальные гласные звуки.

В общем, это было действительно увлекательно. Мы не заметили, как наступил вечер. К этому времени нам стало понятно, что именно упустил отец, когда первый раз запускал свой генетический алгоритм. Я поехал проводить Катю домой, а папа остался. Когда я вернулся, он сказал:

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

* * *

За ночь мы не нашли ничего. Отец утром ходил хмурый. По его словам, генетический алгоритм опять «залипал в локальных экстремумах», но я не мог понять, что это такое. Получалось, что идея с этими вычислениями не очень хороша. Он стал говорить, что надо найти тонкую грань между залипанием в экстремумах и разносом системы из-за высокой частоты мутаций, но это сделать сложно на одном компьютере. А решение, по его словам, должно лежать именно на этой границе.

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

Я спросил:

— А сколько вообще существует вариантов? Может быть, надо просто запустить перебор, если за десять часов работы просмотрено десять миллионов вариантов, то есть миллион вариантов в час?

Отец задумался, потом взял карандаш с листочком и набросал какие-то формулы. Затем что-то долго считал, делил и умножал. Наконец он сказал:

— Всего есть порядка 10^158 вариантов. Ты представляешь, сколько это? Очень много. Это в невообразимое число раз больше, чем число частиц в нашей Вселенной. Если бы мы просматривали даже миллиард вариантов в секунду, то на все ушло бы время, во много-много-много раз превышающее время жизни нашей Вселенной. Эта ситуация называется «комбинаторным взрывом», когда для небольшого объёма данных имеется очень большое количество вариантов. Такие задачи никогда не решаются полным перебором.

Я запутался в этих цифрах, но понял лишь то, что решить перебором не получится никак. Тогда я спросил:

— Ну а твои генетические алгоритмы чем помогут?

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

Отец иногда действительно становится совершенно невыносим. Он объясняет так, как будто бы я уже прослушал курс информатики и программирования. Впрочем, я кое-что начинаю понимать. Нужно будет углубиться в изучение этих премудростей для того, чтобы как минимум понимать, что объясняет отец. Но пока я спросил:

— А ты можешь дать мне частоты букв из старого алфавита? Хочу сравнить их с частотами современных букв русского языка.

Он нажал на своём ноутбуке несколько клавиш, на экране появились столбцы букв и цифр непременными зелёными буквами на чёрном фоне. Это называется «консоль», и отец использует для решения любой задачи. Я взял блокнот и принялся переписывать данные. Вот что у меня вышло:

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

За своим занятием я не заметил, как приехала Катя. Она тихо стояла надо мной и смотрела на мои упражнения. Потом сказала:

— Ты точно учишься в пятом классе?

Я поднял на неё глаза и ответил:

— Ты ведь уже познакомилась с моим папой. Мы с ним давно занимаемся всякими науками.

Катя вздохнула, а потом спросила:

— А что это за график?

— Это гистограмма, которая показывает распределение частот букв в старой орфографии. Помнишь, когда я разгадал твою шифровку, мы применяли частотный анализ для подбора букв. Так вот тут то же самое. Папа нашёл довольно большой текст, примерно один миллион букв, посчитал в нём количества и частоты всех букв, которые в него входят…

Катя недоумённо воскликнула:

— Он посчитал миллион букв?!

Я засмеялся и ответил:

— Нет, конечно. Вернее, он сам ничего не считал. Он никогда не делает ничего сам, если может это поручить компьютеру. И тут он нашёл этот текст в интернете, написал программу, и она всё посчитала буквально за пару секунд. Я сам видел. А писал он её минут пять. И теперь я построил гистограмму, чтобы сравнить частоты старой орфографии и современной. Вот видишь, всё вроде бы не сильно отличается, кроме одной буквы.

— Да, я вижу. Это как раз твёрдый знак, про который говорил твой папа.

— Ага. Удивительно, как вылезла его частота.

Катя покрутила в руках нарисованную мной гистограмму, потом заявила:

— Но я всё равно не понимаю, зачем ты это нарисовал.

Похоже, она сегодня была не в духе. Теперь уже я вздохнул и ответил:

— Как минимум я начинаю понимать, что задумал папа со своими генетическими алгоритмами.

— И что же?

— Он пытается подобрать такое распределение чисел из шифровки по буквам старого алфавита, чтобы при перекодировании шифровки и подсчёте частот каждой буквы полученный результат максимально близко подходил к гистограмме.

— Но почему просто не посчитать частоты чисел в шифрограмме?

— Ну как же! Мы же уже посчитали и определили, что они практически равны. В этом смысл пропорционального шифра.

— А, точно.

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

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

Отец сел на скамейку и начал, как мне показалось, новое занятие:

— Я придумал, как оптимизировать наши поиски. Нам надо построить вычислительный грид. Думаю, что рабочих компьютеров сотрудников моей лаборатории будет достаточно. Я напишу программу, которую установлю на их компьютеры, и эта программа в фоновом режиме будет делать генетический подбор. У нас в лаборатории примерно двадцать пять компьютеров, развернём грид на всех. Мой ноутбук сделаем базовым хостом, будем через него обмениваться информацией и распределять наиболее интересные варианты для дальнейших вычислений по всем компьютерам грида. Понятно?

Мы с Катей только помотали головами. Отец вздохнул и попробовал ещё раз:

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

Я спросил:

— Если в этой работе будут участвовать твои сотрудники, то когда мы взломаем шифровку, славой придётся поделиться и с ними?

Отец задумался, но потом сказал:

— Никто не будет знать, что вычисляет программа. Я сделаю так, что это будут абстрактные строки без каких-либо пояснений. Только на моём ноутбуке мы сможем прочесть результаты.

В разговор вступила Катя:

— А если распространить эту программу на ещё большее количество компьютеров? Это возможно?

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

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

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

Я сходил в дом, сделал себе бутерброды и перекусил. Похоже, что отец не ел целый день, пока мы с Катей колобродили. Я принёс ему чай и пару бутербродов с ветчиной и сыром, но он как будто бы этого не заметил.

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

Ну а мы с Катей в основном катались на велосипедах и играли у меня на планшете. Я практически поселился у тёти Кати, поскольку на второй день этого режима я понял, что такое голод, так что чаще бывал у тётушки и подъедал всё, что она готовила. За это время мы объездили все закоулки в селе, но дальше окружной дороги вокруг огородов не бывали. Без отца я всё-таки опасался.

Вечером третьего дня, когда я уже вернулся домой и лежал в кровати, отец неожиданно откинулся от своего ноутбука и тихо сказал:

— Наконец-то…

Я подскочил как ужаленный и бросился к нему. На экране была непременная консоль с зелёными символами на чёрном фоне. И если до сих пор по ней постоянно бежали буквы и цифры, то сейчас поток остановился и в самом низу экрана горела строка: «ВАШЕ СИЯТЕЛЬСТВО СИМЪ УВЕДОМЛЯЮ ВАСЪ О ТО… E = 0,00001753». Отец вывел на экран полный текст шифровки:

ВАШЕ СИЯТЕЛЬСТВО СИМЪ УВЕДОМЛЯЮ ВАСЪ О ТОМЪ ЧТО ВАШЕ РАЗПОРЯЖЕНИЕ КАЪАТЕЛЬНО СБЕРЕЖЕНИЯ ИЧВЕСТНОЙ СДММЫ ВЫПОЛНЕНО СЕКРЕТС СХОРОНЕНЪ ВЪ ТАЙНИКЕ ВЪ ВАШЕЙ МУХАНСКОЙ УСАУЬБЕ КАРТД ПРИЛАГАЮ СС ПОКОРНОЪТИЮ ФЕОФАНЪ

Да уж! Это оказалось ещё круче, чем те загадки, которые папа загадывал мне в наведённых воспоминаниях. На этот раз речь идёт о чём-то реальном! Если вспомнить слова директора Моршанского музея, то эту шифровку никто не смог разгадать, а следовательно, высоки шансы, что спрятанные сокровища ещё никто не обнаружил. Правда, их могли найти случайно, но это менее вероятно в случае целенаправленных поисков.

Я переписал расшифрованное сообщение, исправив недочёты автоматической расшифровки, приведя к современной орфографии и расставив знаки препинания. Получилось более ясно: «Ваше Сиятельство. Сим уведомляю Вас о том, что Ваше распоряжение касательно сбережения известной суммы выполнено. Секрет схоронен в тайнике в вашей Муханской усадьбе. Карту прилагаю. С покорностью, Феофан».

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

Глава 9

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

— Ну что же вы? Показывайте и рассказывайте, как у вас это получилось.

Мне папа ещё ничего толком не рассказал, поэтому я тоже посмотрел на него с ожиданием. И он начал свой рассказ…

— После того как мы придумали идею с вычислительным гридом, я задействовал все мощности своей лаборатории. Мы быстро написали нужные программы, это заняло у нас буквально несколько часов. Я говорю «мы», поскольку я привлёк к разработке нескольких своих сотрудников. Они мне очень помогли. Но я, как и обещал, не стал им рассказывать о сути этой работы. Да, в общем-то, они и не спрашивали: им была очень интересна задача разработки и развёртывания грида — мы в лаборатории такого ещё никогда не делали.

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

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

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

Я спросил:

— А почему так получилось?

Отец ответил:

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

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

— А что такое «Муханская усадьба»?

Отец ответил:

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

Я снова перечитал дешифрованное сообщение и заявил:

— Что-то мне кажется, что нам снова предстоит детективное расследование. Прямо как в рассказе «Золотой жук». Мало расшифровать то, что зашифровано, надо ещё понять, что всё это значит.

Отец вскинул бровь:

— Снова?

Я смущенно взглянул на Катю, но понял, что она не обратила внимания на эту реплику. Отец усмехнулся и продолжил:

— Да, ты прав. Думаю, что в Моршанске мы уже нашли всё, что смогли, и теперь нам надо съездить в Тамбов, в государственный архив. Там в старых документах могут быть сведения, которые нам пригодятся.

Я предложил:

— Почему бы не сделать это прямо сейчас?

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

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

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

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

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

А после обеда отец заявил, что ему вновь необходимо на пару дней уехать в Москву по всяким делам. Я приуныл, ведь поездка в Тамбов и детективное расследование вновь откладываются. И снова мне придётся переехать на несколько дней к тёте Кате, чтобы не оставаться одному.

Отец увидел, что у меня просто на глазах упало настроение, засмеялся и сказал:

— Но-но. Не вешать нос. Ты не заметишь, как я вернусь. А сейчас садитесь-ка на велосипеды, и мы поедем в лес по грибы. Покажу вам заветные места.

* * *

Как обычно, мы выехали по Конторской улице и, добравшись до леса, повернули налево. Мы вновь ехали к Гаретому и тому оврагу, где отец в прошлый раз показывал нам всякие чудеса. Но вскоре мы отклонились от курса — по каким-то тайным признакам отец выбрал место, где свернуть в березняк. Мы проехали на велосипедах ещё несколько метров и спешились. Далее отец повёл нас пешком.

Вдруг я наткнулся на гриб. Это был крепкий высокий гриб с оранжевой шляпкой. Я узнал подосиновик, хотя раньше я видал их только в справочниках. Я позвал папу и Катю, и папа сказал:

— Вот ради них я и привёз вас сюда.

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

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

В какой-то момент Катя спросила:

— Но где же осины?

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

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

Через два часа мы насобирали три сетки грибов (сетки эти папа достал из кармана и сказал, что грибы будем собирать в них, тем более что корзинки всё равно не взяли). Увы, в сетки, которые папа называл «авоськами», нельзя было положить много грибов — они мялись. Так что мы насобирали столько, сколько смогли, и поехали домой. Тётя Катя даже заахала, увидев, сколько добычи мы привезли.

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

* * *

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

На темнеющем небе проступало всё больше звёзд. Я отыскивал взглядом знакомые созвездия, рассматривал их, пытался различить звёзды. К своему стыду, я не знал никаких названий даже некоторых созвездий. Отец-то наверняка сейчас рассказал бы мне про все созвездия на небе, да ещё и не одну историю… Впрочем, нечего было расстраиваться — он уехал по делам и через пару дней должен вернуться. Я взял себя в руки и пошёл укладываться.

Утром меня разбудила Катя, которая торопила меня завтракать и ехать кататься на велосипедах, так как погода для этого в самый раз. Я кое-как привёл себя в порядок после тревожных снов и поплёлся в дом. Тётушка накормила меня пшённой кашей с молоком. На огне стояла огромная кастрюля, из неё доносилось бульканье и пахло грибами. Тётушка Катя сказала:

— Это ваши вчерашние грибы. Сегодня на обед будет грибной суп.

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

Так мы и сделали. Я первый залез в наш домик и подал руку Кате. Она тоже вскарабкалась, и мы уселись на полу. Я достал блокнот и карандаш, которые теперь всегда носил с собой, и сказал:

— Пока отца нет, давай продолжим наши занятия! В прошлый раз мы выяснили, что шифр одноалфавитной замены совсем никуда не годится и его очень легко взломать. Теперь давай я расскажу тебе, что такое шифр многоалфавитной замены и как можно взломать его.

— Это поможет мне прятать от тебя свои секреты?

Я покачал головой:

— Я же говорю, что научу тебя взламывать этот шифр. То есть этот шифр тоже ненадёжный.

— Но тогда зачем ты меня будешь учить этому?

Я задумался. Действительно. Зачем тратить время на то, что бесполезно? Интересно, как бы на этот вопрос ответил папа? Наверняка сказал бы что-нибудь про необходимость знать все методы, изучать их от простого к сложному и прочее. Но, честно говоря, мне самому скучно объяснять то, что потом не пригодится. А раз Катя просит научить её такому способу шифрования, который невозможно взломать, то лучше заняться именно этим.

— Хорошо, я научу тебя такому шифру, что при правильном использовании его практически невозможно взломать. Он очень прост, но в то же время очень надёжен. Папа научил меня ему под большим секретом.

Катя приободрилась, а я продолжил:

— Я тоже расскажу тебе про этот способ только при условии, что ты ни с кем, кроме самых-самых доверенных людей, не будешь им делиться.

Она с жаром кивнула, схватила меня за руку и воскликнула:

— Кирилл, обещаю, что это будет наш с тобой секрет!

Я немного опешил, не ожидая такого бурного выражения чувств. Но продолжил:

— Хорошо. Тогда пошли. Нам нужна книжка.

— Книжка?

— Да. Лучше всего пояснить на примере, но для этого нам нужна книжка. Всё равно какая. Пошли в наш штаб.

Мы вылезли из домика и подъехали к штабу. Я достал ключ, который болтался у меня на шее, как талисман, открыл дверь и оглянулся. Вряд ли здесь были какие-нибудь книги… Мы поискали по углам, затем я залез на чердак, но там были только опилки и доски. Видимо, придётся как-то проникнуть в дом — там наверняка есть хотя бы одна захудалая книга.

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

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

Я оказался на чердаке. Там было темно так, что можно глаз выкалывать — никакой разницы. Но тут я вспомнил про смартфон у себя в кармане и воспользовался фонариком. Было пыльно, вокруг лежали стопки старых газет. Я поводил фонариком из стороны в сторону и тут же нашёл несколько книг. Это обрадовало меня — теперь спускаться в дом не было никакой нужды.

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

Катя сидела внизу на табуретке и листала какие-то книги. Я удивился, потому что книги с чердака сбросил с другой стороны дома и за ними надо было ещё сходить.

— Где ты их нашла? — только и спросил я.

Катя улыбнулась и кивнула на дверцу какого-то вмонтированного в стену шкафа. На ней была полустёртая выцветшая надпись: «КИНОФОТОЧУЛАН». Открыв дверцу, я нашёл только пару старых кастрюль, стопку перевязанных бечёвкой тетрадей и какой-то странный агрегат с кнопками и вылезшей наружу как кишки электроникой. Тетради я вытащил, а агрегат оказался очень тяжёлым, грязным и пыльным, а потому я бросил его назад.

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

Вернувшись к тётушке, мы расположились у меня в амбаре и начали разбирать свои находки. Первым делом разложили книги. Среди них оказались учебник по химии и учебник по истории для шестого класса, причём этим учебникам было больше лет, чем нам с Катей вместе. Я отложил их, чтобы потом посмотреть более внимательно и сравнить с тем, чему нас учат в школе. Потом я нашел толстенную книгу под названием «Тихий Дон» и решил, что её-то мы и будем использовать для обучения. Ещё пара книг была совсем неинтересная — сборники докладов с каких-то съездов партии.

Затем мы перешли к тетрадям. Я нетерпеливо сдул пыль, разорвал бечёвку и разложил все тетради перед нами. Пара тетрадей была подписана: «Русский язык» и «География». Открыв их, я увидел, что это чьи-то ученические тетради — либо моего деда, либо кого-то из его многочисленных братьев или сестёр. В других тетрадях были бесчисленные столбцы чисел. Я было подумал, что это какая-то шифровка, и сердце моё ёкнуло, но потом мы разобрались — у всех чисел всегда было по две цифры после десятичной точки, а в верхних строчках иногда встречались подписи на обычном русском языке. Я вспомнил, что дед Трофим служил в сельской конторе бухгалтером, так что, скорее всего, это были его бухгалтерские книги.

Но на одной из тетрадей была надпись: «Дневник. Лето, 1984». Это меня очень заинтересовало. Отцу в тот год ещё не исполнилось семи лет, так что это вряд ли его дневник. Я открыл тетрадь и увидел, что она исписана мелким аккуратным почерком. Я прочитал несколько записей — кто-то рассказывал, как он впервые был на сенокосе, как участвовал с Трофимом Ивановичем в работе с пчёлами и нашёл ёжика. Получается, этот дневник не мог принадлежать моему деду или кому-то из других детей прадеда Трофима. В этом надо разобраться.

Катя спросила:

— Ну что там?

Я пожал плечами и ответил:

— Чей-то дневник, но точно не моего отца и не моего деда. Тот, кто писал этот дневник, называл деда Трофима по имени и отчеству, а, значит, они были мало знакомы. Надо дождаться отца и спросить у него. Возможно, что эта находка будет очень ему интересна.

Остальные тетради вместе с учебниками и бесполезными книгами я вновь перевязал бечёвкой и убрал на полку в амбаре. Так они переместились из одного места, где лежали десятки лет, в другое, где пролежат ещё столько же. У меня в руках остались только «Тихий Дон» и дневник неизвестного человека за 1984 год. Дневник я убрал в свою рабочую папку, а книгу положил перед Катей.

Итак, мы начали наше новое занятие. Я сказал:

— Как ты думаешь, можно ли использовать вот эту книгу в качестве ключа для шифрования?

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

— Скажи мне какую-нибудь фразу, которую ты хотела бы зашифровать при помощи этой книги.

Катя подумала и сказала:

— Мы с Кириллом друзья.

Я улыбнулся и принялся за дело. Через несколько минут в моём блокноте красовалась последовательность чисел: 25 13 7 76 5 28 1 2 17 6 35 14 18 22 21 50 4 27 74 19 20 67 48 15 3 41 30 56 31 8 55 9 22 46 34 11 12 13 32 33 34 10 88 33 23 80 38 27 79 39 26. Я показал её Кате, весьма довольный собой, ведь мне удалось зашифровать послание так, что ни одно число не повторялось.

Катя взяла шифровку и долго всматривалась в неё. Потом взяла книгу, начала её листать, но, похоже, у неё ничего не получалось. Тогда я сказал:

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

Катя вновь начала листать книгу. Потом она взяла свой блокнот и переписала мою шифровку, ставя по три числа в каждой строке:

25 13 7

76 5 28

1 2 17

…

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

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

Катя аж прищёлкнула пальцами — видимо, мои слова совпали с идеей, которая уже пришла в её голову. Она открыла страницу 25 и довольно долго водила по ней карандашом. Потом обвела одну букву, записала её в блокнот и пролистала книгу до страницы 76. Там она проделала то же самое. После третьего раза она отложила книгу с блокнотом и сказала:

— Я всё поняла. Как, оказывается, просто.

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

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

Катя спросила:

— А можно ли как-то взломать этот шифр?

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

— Но как-то же можно попробовать?

Я задумался и стал тереть себе нос. Папа не говорил, что этот способ невзламываемый. То есть вроде бы получалось, что как-то можно взломать. Но как? У меня было только две идеи:

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

Катя покачала головой, а потом спросила:

— А всегда ли можно сделать так, чтобы числа в шифровке не повторялись?

Этот вопрос мне и самому был очень интересен. Уже зашифровывая текст, я понял некоторые принципы, которым надо следовать, чтобы числа не повторялись как можно дольше. Подумав, я сказал:

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

— А можно ли как-то понять, глядя на шифрованный текст, что он зашифрован именно этим методом? Вот мы же нашли в стопке тетрадей несколько штук, в которых одни числа. Может быть, это какие-то старые шифровки?

Я помотал головой и объяснил, что это, скорее всего, бухгалтерские книги деда Трофима. Но Катя всё равно повторяла, что это могут быть шифровки, а понятные надписи сделаны для отвода глаз. Пришлось опять поразмыслить.

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

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

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

* * *

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

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

Отец привёз несколько пакетов, которые отдал тёте Кате. Как я понял, это были гостинцы, которые отец собрал с многочисленных родственников. Также он отдал Кате письмо в конверте, чем немало её удивил. Он объяснил:

— По пути на почту заехал, оно там лежало для тебя.

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

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

Но теперь нам надо было вновь переезжать. Тётя Катя, как обычно, захотела, чтобы мы оставались у неё. Дескать, нечего делать в пустом доме и тем более в старой бане, где мы жили. Но отца она не уговорила, и до обеда мы вновь переехали в наш штаб.

Как только мы всё выгрузили, папа завалился спать, сказав, что проснулся очень рано и устал в дороге. Так что до вечера мы с Катей снова были предоставлены самим себе. Мы скатались на Гаретое и проверили плот. Потом объехали всё село и вновь вернулись к нам в штаб. Отец всё ещё спал, так что мы сели играть на планшете.

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

Перед сном отец долго разговаривал с кем-то по телефону. Я не мог уснуть и ворочался. В голову лезли всякие страсти, но в конце концов сон меня сморил.

* * *

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

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

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

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

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

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

У отца нашлись и мишени, которые можно было вставлять в пулеулавливатель. Мы сразу же установили одну и испробовали ружьё с расстояния в десять метров. Первым стрелял я, потом Катя, а отец отмечал попадания. Из пяти выстрелов я выбил 47 очков, а Катя, которая держала ружьё впервые, — 38. Папа похвалил её за прекрасный для первого раза результат, и мы договорились, что будем ежедневно тренироваться в стрельбе.

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

Затем мы вместе подошли к риге. В пулеулавливателе около центра виднелась явная вмятина. В его поддоне лежал сплющенный кусок свинца. Я хотел достать его, но отдёрнул руку, поскольку он был горячий. Мишень валялась метрах в пяти от нас. Отец попал между 8 и 9, и это не было случайностью — своим ружьём он пользовался мастерски. Хотя я, конечно, не понимаю, как можно с расстояния в пятьдесят метров попасть в центр бумажного квадратика пятнадцать на пятнадцать сантиметров, который видно как маленькую белую точку.

Когда пуля остыла, я достал её и показал Кате:

— Смотри, это пуля «жакан». Мы сами отливаем их и снаряжаем патроны. Это страшная вещь, остановит любого. Используется для охоты на крупного зверя.

Катя с восхищением смотрела на нас. Затем она попросила:

— А можно мне стрельнуть из этого ружья?

Но отец отказал и объяснил, что отдача у ружья такая, что у Кати потом будет синяк на всё плечо. Катя было надулась, но отец принёс из штаба пневматический пистолет, который я вначале не заметил. Это была моя старая игрушка, которой отец учил меня прицельно стрелять несколько лет назад. Он протянул банку пулек и пистолет Кате и сказал, что она может взять его до конца лета, чтобы потренироваться. А когда за ней приедут её родители, он поговорит с ними о том, чтобы учить её спортивной стрельбе и подарить личное оружие. Катя была в восторге, а я немного надулся, ведь это был мой пистолет. Но отец сказал, что у меня остаётся пневматическое ружьё, которым я могу пользоваться когда захочу.

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

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

— Теперь я понимаю, зачем твой папа выстрелил из ружья.

— Зачем же?

— Это была демонстрация. Кем бы ни были эти люди, теперь до них дойдёт слух, что у вас есть оружие. И, возможно, они пересмотрят свои намерения.

— Да, я тоже так думаю. Но мне кажется это неправильным.

— Почему?

— Потому что если у них намерения совсем нехорошие, то теперь они могут подготовиться более основательно. Поэтому я считаю, что оружие нам нужно, но демонстрировать его не надо бы.

Из дневника Кирилла:

10 июля. Время не прошло даром. Теперь у нас в деревне есть полностью обустроенный штаб, домик на дереве и тир для тренировочных стрельб, а на болоте лежит плот для плавания и навигации. А ещё у меня есть убежище в амбаре у тёти Кати. Я просто становлюсь каким-то автономным сельским жителем. И пребывание в деревне очень интересное, мы каждый день узнаём что-то новое. Папа не обманул, что будет придумывать нам всякие развлечения, хотя он иногда и уезжает на несколько дней.

* * *

На следующий день прямо с утра мы с папой сели в машину и заехали за Катей. Она уже проснулась, но ещё не позавтракала, так что нам пришлось подождать с полчаса. Папа похаживал взад-вперёд, что-то бурча себе под нос, а я смотрел на него и посмеивался. Дело в том, что он запланировал сегодня съездить в Тамбов, чтобы посетить государственный архив Тамбовской области и попробовать найти там сведения про поместье графа Воронцова-Дашкова в Новотомниково. Но нам с Катей он ничего не сказал, так что мы были не готовы. И если я сам лёгок на подъём, то Катю пришлось ждать. А ожидание, когда уже всё спланировал, — очень тяжёлое испытание для отца.

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

На подъезде к городу отец включил GPS-приёмник. Тут он нам пригодился, чтобы доехать до архива, поскольку никто раньше в Тамбове не бывал.

Мы остановились перед монументальным зданием. Вокруг него росли огромные ели. Люди шли мимо, но никто даже не смотрел на здание, никто не заходил. Только мы втроём вошли в архив и оказались в широком холле. Папа объявил женщине за турникетом, что мы приехали из Москвы, чтобы провести некоторого рода исследования, но она отправила нас к стенду на стене: там было написано, на каких условиях можно посещать архив и проводить в нём изыскания.

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

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

Минут через пятнадцать к нам вышла ещё одна усталая женщина и неодобрительно посмотрела на нашу компанию. Отец представился и протянул визитку, но женщина её не приняла, а сказала, что ей нужно командировочное удостоверение или что-то подобное, чтобы убедиться, что отец действительно является научным сотрудником. Я вообще не мог понять, что происходит. Неужели так сложно пустить людей в учреждение, чтобы они могли сделать то, что запланировали?

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

— Что здесь происходит?

Разговор на повышенных тонах сразу прекратился, отец улыбнулся ей и вновь протянул свою визитку. Та благосклонно взяла её, внимательно посмотрела и спросила:

— Очень приятно. Чем можем быть полезны?

Отец повторил всё то, что он уже говорил первым двум сотрудницам. Третья, которая оказалась руководителем архива, внимательно слушала, а потом показала на нас с Катей:

— А это кто?

— А это мои младшие научные сотрудники, — невозмутимо ответил отец.

Руководитель архива рассмеялась и пригласила следовать за ней. Так мы проникли в Государственный архив Тамбовской области.

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

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

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

Отец попросил найти всё, что касается графа Воронцова-Дашкова. Сотрудница архива вбила эту фамилию в поисковую строку и нажала кнопку. На экране появился список всего из трёх позиций. Папа хмыкнул и попросил сохранить эти позиции, чтобы потом забрать материалы. После отец попросил добавить в фамилию графа два твёрдых знака: «Воронцовъ-Дашковъ». Та всплеснула руками и сказала, что он молодец, что отмечает такие тонкости. Дело было поправлено, и поиск выдал несколько страниц документов. Теперь папа хмыкнул одобрительно, потёр руки и попросил достать всё это.

Женщина улыбнулась и сказала, что доставать ничего не надо, так как все материалы, по которым ведётся поиск, уже оцифрованы, и их сканы хранятся здесь же. Так что требуется только внешнее хранилище данных, куда можно было бы переписать все файлы. Что ж, с этим у нас было всё нормально: отец возит с собой не только несколько флеш-карт, но и целый внешний жёсткий диск. Это ещё больше впечатлило сотрудницу архива.

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

Мы, скорее всего, получили то, что хотели. Отец пока не стал оставлять заявок на новый поиск, ведь сначала надо было изучить всё то, что мы уже получили. Так что мы немного покатались по улицам Тамбова, заехали в ресторан подкрепиться, а потом отбыли домой. Я пролистывал на планшете некоторые из полученных материалов, но ничего особенного не видел. Катя рассуждала о том, что она будет делать и рассказывать родителям, когда они приедут её навестить. Папа сидел хмурый и молчал. Причину такого изменения его настроения я не понимал, но не спрашивал.

Домой мы вернулись уже к вечеру. Тётя Катя покормила нас ужином, расспросила по своему обыкновению о том, что мы видели, поахала по разным причинам. Катя полезла проверять электронную почту, а мы с папой уехали к себе. Отец устал, а потому ушел спать. Я тоже немного притомился, но поиграл, почитал, порешал задачки и отправился в постель.

Глава 10

Папа сидел за компьютером и что-то насвистывал. Похоже, у него было отличное настроение, поскольку он даже улыбался, нажимая на клавиши своего ноутбука. Увидев, что я проснулся, он отправил меня умываться и завтракать, а потом пригласил посмотреть, что ему удалось найти в архивных материалах. Я был очень заинтересован, так что уже минут через пятнадцать вернулся к отцу в штаб, где мы начали изучение документов.

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

Приехала Катя и сразу же надулась, что мы начали изучать документы без неё. Но потом она перестала обижаться и начала внимательно рассматривать древнюю карту. Папа сказал:

— Мы очень опрометчиво поступили, что не изучили эти материалы в Тамбове. Теперь мне придётся ехать в Моршанск, чтобы найти там где-нибудь принтер и распечатать это всё в нескольких экземплярах для всех нас.

Я решил оптимизировать процесс, как говорит папа, и спросил:

— А ты можешь попросить своего сотрудника, который и так к нам постоянно приезжает, чтобы он в следующий раз привёз принтер и несколько пачек бумаги?

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

В общем, через минут пятнадцать отец уехал в Моршанск, а нас с Катей отправил проверить все окрестности. Мы объехали село, сгоняли на Гаретое и проверили плот, полазили по деревьям, заехали к тёте Кате, проверили Катин дом, снова заехали к тёте Кате и выпили простокваши.

День длился как обычно, разве что к обеду начал накрапывать дождик, и мы засели в амбаре у тётушки, играя во всякие игры у Кати на телефоне. Отец вернулся после обеда и привёз новенькое МФУ. Он рассказал, что пришлось поездить по Моршанску в поисках магазина: это не Москва, и чтобы купить что-то более серьёзное, чем мобильный телефон, надо постараться.

Тётя Катя только руками всплеснула, когда увидела новый аппарат. Она заворчала, что отец тратит много денег, что всё это баловство и суета, и не надо было этого делать… Отец не обращал на это внимания и разбирался с инструкцией. Он хотел подключить МФУ к Катиному ноутбуку, но оказалось, что нужен специальный кабель. Отец чертыхнулся, убрал всё в коробку, и мы уехали в штаб.

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

Так у нас появились карта местности, включающая весь Моршанский район и сопредельные земли, а также план из далёкого XIX века. Нашей с Катей задачей было совместить эти материалы так, чтобы план наложился на карту и точки на плане совпали бы с такими же точками на карте. Казалось бы, совершенно простая задача. Но не тут-то было.

Здравый смысл подсказывал, что надо определить опорные точки, и самым простым решением было взять в качестве них населённые пункты. Однако оказалось, что на старом плане нет некоторых сёл и деревень, а также есть одно или два, которых нет на современной карте. Так что пришлось ограничиться только теми, которые есть на обеих картах. Папа назвал это «пересечением множеств», а потом пояснил, что в пересечение двух множеств входят те и только те элементы, которые принадлежат обоим множествам.

Я спросил отца:

— Скажи, зачем мы должны наложить план на карту? Какой в этом смысл?

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

— Неужели этот план нарисован той же рукой, которая писала расшифрованное нами послание?

Отец пожал плечами и ответил, что не знает. Но когда он утром увидел эту точку со знаком, то понял, что надо искать.

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

— Но даже такое сужение области поиска поможет. Мы, конечно, не будем перекапывать всю площадь, просто будем искать более целенаправленно.

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

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

Мы с Катей углубились в исследования, но у меня, к примеру, вообще ничего не получалось. С несовпадением масштабов была просто беда, и голова уже начала гудеть от всех этих опорных точек. Я отложил бумаги и сказал:

— Папа, ты можешь сейчас сделать масштаб этих документов одинаковым? А то совсем ничего не получается!

Отец нажал несколько кнопок на компьютере, и из нашего МФУ вылезли новые листы. Я взял один, приложил его к карте и увидел, что расстояние между Раёво и Альдией было одинаковым и на карте, и на плане. Неплохо. Я попробовал сравнить ещё несколько расстояний, и большинство оказались одинаковыми или примерно одинаковыми. Я вопросительно посмотрел на отца, а он сказал:

— Ничего удивительного. Из-за неравенства угловых расстояний изменились и линейные расстояния, находящиеся в стороне от той прямой «запад — восток», которую я избрал для масштабирования. Соответственно, все расстояния, параллельные или примерно параллельные ей, будут одинаковыми. А чем больше угол между прямой, избранной мной и взятой тобой для проверки, тем больше могут быть искажения.

Тогда Катя воскликнула:

— Но тогда как нам найти опорный треугольник?! Ведь если одна сторона треугольника параллельна линии «запад — восток», то две другие точно не параллельны, и будет искажение.

Я удивился такой прозорливости, но виду не подал, а согласно покивал. Но папа просто пожал плечами и сказал, что, может быть, где-то что-то мы сможем найти.

Мы продолжили работу. Но я понял, что мы ведём её как-то бессистемно. Тогда я открыл чистый лист в рабочем блокноте и выписал названия всех населённых пунктов, которые составляли пересечение множеств. У меня вышел такой список: Раёво, Альдия, Старотомниково, Новотомниково, Тарханы, Благодатка и Вислый бор. Я спросил отца:

— У нас семь населённых пунктов. Как понять, сколько можно составить из них треугольников?

Отец улыбнулся и ответил:

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

Он взял лист бумаги и нарисовал на нём примерно равносторонний треугольник с традиционными вершинами A, B и C. Указал на вершину A и спросил:

— Сколько у нас есть вариантов населённых пунктов, чтобы поставить в эту вершину? Екатерина?

— Семь.

— Правильно! — Отец перевёл карандаш на вершину B. — А сколько вариантов осталось, чтобы поместить в эту вершину? Кирилл?

— Очевидно, шесть. Потому что один населённый пункт мы уже поставили в вершину A.

— Всё так. Соответственно, в вершину C мы можем поставить любой из оставшихся пяти населённых пунктов. Таким образом, чтобы получить общее число вариантов, нам надо перемножить семь, шесть и пять. Так?

Мы с Катей переглянулись. Выходило, что так. Получалось 210 вариантов, и это число пугало меня. Но, судя по хитрому выражению на лице отца, что-то здесь было не то. Я нахмурился. И тут озарение само пришло мне в голову. Ведь если так отбирать населённые пункты, то очень много треугольников окажутся просто одинаковыми — одни и те же населённые пункты просто попадут в разные вершины. Я быстро прикинул и понял, что из трёх населённых пунктов можно составить шесть абсолютно одинаковых треугольников. Например, если взять Раёво, Альдию и Тарханы, то первым треугольником будет «A: Раёво — B: Альдия — C: Тарханы», вторым станет «A: Раёво — B: Тарханы — C: Альдия» и так далее, до шестого «A: Тарханы — B: Альдия — C: Раёво». Получается, что как первую вершину можно взять один из трёх населённых пунктов, на вторую — один из двух оставшихся, а на третью — последний. То есть надо было три умножить на два и потом на один, и как раз получится шесть.

Что же дальше? Если сначала получилось 210 треугольников, но среди них есть шестёрки абсолютно одинаковых, просто с переименованными вершинами, то надо 210 поделить на 6, и тогда будет только 35 различных треугольников. Это количество намного обозримее.

Я пересказал все эти размышления, чем заслужил одобрение отца и уважительный взгляд Кати. Но тут отец спросил:

— А ты можешь доказать, что при любом начальном количестве населённых пунктов общее число их комбинаций по три будет делиться на шесть?

Но тут в разговор вступила Катя и объяснила это дело так, что я понял: она совсем не так проста. Вот что она сказала:

— Всё просто. Для того чтобы получить общее количество комбинаций из трёх населённых пунктов, нам надо перемножить три последовательно идущих числа. Среди этих чисел одно точно будет делиться на три, а одно точно будет чётным, то есть делиться на два. Это значит, что их произведение точно будет делиться на шесть. Так-то!

В таком воодушевлении мы не заметили, как наступил вечер. Мы проводили Катю домой, поужинали у тёти Кати и вернулись в штаб. Я спросил отца:

— Ты считаешь, что нам действительно удастся найти клад?

— Шансов мало, но почему бы не попробовать?

— А как мы будем его искать, когда ограничим область поисков при помощи плана и карты? Ведь он под землёй.

— Думаю, что нам пригодятся металлоискатель и щуп. Нам надо заказать эти вещи.

— А что такое щуп?

— Ну как же. Такой длинный тонкий металлический штырь, которым можно протыкать землю и как бы щупать, что там.

Да, пожалуй, такая штука нам пригодится. Отец пошёл к своему компьютеру, а я стал укладываться спать.

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

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

Итак, нам надо было найти треугольник из сел или деревень, который совпал бы на плане и на карте. По вчерашним расчётам было всего 35 троек населённых пунктов, так что нам надо было просто их перебрать. Для начала мы с Катей выписали все такие тройки. Затем мы разделили этот список: отдали первый треугольник для проверки отцу, а остальные поделили пополам, и начали проверку. Это помогло нам в два раза ускорить изучение.

Минут через двадцать Катя воскликнула:

— Есть!

Подняв голову, я увидел, что она улыбается. Она протягивала нам свою копию плана, на котором был отмечен один треугольник: Старотомниково — Новотомниково — Вислый бор. Папа угрюмо покачал головой:

— Совсем не то, что я ожидал.

Я удивился.

— Проверьте остальные тройки населённых пунктов. Вдруг там ещё что-нибудь обнаружится.

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

Я вновь спросил отца, почему он недоволен результатами поиска. Он ответил, что этот треугольник находится слишком далеко от нужной точки, поэтому могут быть большие искажения и потеря точности, когда он будет проводить преобразования. Намного лучше было бы, если бы таким треугольником оказались Благодатка — Новотомниково — Вислый бор. Но потом он сказал, что попытка — не пытка и можно попробовать.

Поскольку было ещё утро, а на улице шёл дождь, отец решил устроить нам очередное занятие. Он попросил нас вспомнить шифр на основе редкой книги. Катя сразу же достала «Тихий Дон». Тогда отец спросил:

— Видите ли вы какую-либо проблему в подобных методах шифрования?

Я начал рассуждать, что через какое-то время сложно будет подобрать неповторяющиеся числа, но отец отмахнулся и сказал, что есть ещё более глубокая проблема. Но нам с Катей в голову ничего не шло. Папа подождал немного и сказал:

— Ну что же вы? Эта проблема называется «распределением ключей».

Я хлопнул себя по лбу, Катя недоумённо посмотрела на меня, а отец сказал:

— Кирилл, поясни.

Я потёр виски и начал:

— Хорошо. Представим, что есть какой-нибудь мозговой центр, с которым связано множество шпионов, разбросанных по всему свету…

Отец замахал на меня руками, перебил и сказал:

— Так, давай попроще. Вот есть мы втроём. Рассказывай про нас.

Ну что ж. Про нас, так про нас. Я начал снова:

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

Отец спросил:

— И в чём же проблема? Отправляя вас в путь, я каждому выдал по книге. И возможно, даже вы с Катей используете разные книги в качестве ключей.

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

Отец слушал, улыбался и кивал. Я, глядя на него, понимал, что всё говорю правильно. Когда я закончил, взял слово отец:

— Итак, проблема в том, что для того, чтобы передать ключ для шифрования, с адресатом тайной переписки надо встретиться лично. А можно ли передать ключ по открытому каналу связи так, чтобы никто, кроме того, кому этот ключ предназначен, не смог его понять?

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

— Начнём с простого. Давайте вспомним, что такое целочисленное деление. Если взять два целых числа, то одно можно поделить на другое, и в результате тоже получится два числа. Как они называются?

Такими вопросами отец всегда сбивал меня с толку. Проблема была в том, что отец пользовался совершенно другими терминами, чем те, что употребляются в школе. Мне часто было не понятно, что он имеет в виду, хотя потом оказывалось, что я ответил бы на вопрос, если бы только он задал его правильными словами. Однако вмешалась Катя:

— Если одно целое число поделить на другое целое число, то в результате получится частное и остаток. Так?

Отец согласился и записал на листке формулу:

M/N=Q, ост. P ↔ M=N*Q+P

Это было понятно. Остаток всегда меньше делителя или равен нулю, если делимое делится на делитель нацело. Отец продолжил:

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

M_1/N=Q_1, ост. P, M_2/N=Q_2, ост. P ↔ M_1=M_2 (mod N)

— При этом нас не интересуют полученные частные. Мы будем интересоваться только остатками. Это понятно?

Я кивнул, Катя тоже. Тут действительно всё было понятно. Тем временем отец продолжал:

— Эта специальная арифметика имеет интересное свойство. Если зафиксировать делитель, для которого мы вычисляем остатки, то получается, что результаты всех операций не превышают этот делитель. Ну то есть если выбранный делитель — это число N, то все результаты любых операций будут находиться в интервале от 0 до N — 1. Что это значит?

Я больше не мог сдержаться:

— Папа, рассказывай всё от начала и до конца. Не надо спрашивать: «Что это значит» и всё такое. Нам в школе про такое не рассказывали.

— Хорошо. Тогда слушайте внимательно. Это очень важная тема. Если что-то перестаёте понимать, останавливайте меня и сразу задавайте вопросы.

Мы кивнули, и отец продолжил:

— Что ж. Поскольку у нас результаты всех операций всегда будут находиться в интервале от 0 до N — 1, при этом все такие результаты будут целыми числами, то при сложении и вычитании чисел друг из друга по заданному модулю будет происходить циклический переход. У нас получится как будто бы кольцо. Ну вот представьте себе циферблат старых часов, где стрелки ходят по кругу. Только давайте договоримся, что на месте числа 12 находится 0. Тогда это будет арифметика по какому модулю? Кирилл?

— Очевидно, 12.

— Правильно. Давайте потренируемся складывать и вычитать в этой арифметике.

Отец начал задавать нам задачи. Сперва простые:

1 + 2, 2 + 3, 7 + 4…

Потом сложнее:

7 + 5, 9 + 8, 10 + 11…

Но всё оказалось просто. Чтобы сложить два числа, надо было стрелку установить на первое, а потом перемотать её по ходу часов на столько шагов, сколько составляло второе число. Поэтому 7 + 5 = 0 (mod 12), 9 + 8 = 5 (mod 12), а 10 + 11 = 9 (mod 12). Я спросил:

— А как быть, если хочешь в этой арифметике сложить большие числа, например, 1739 и 3412?

Однако и это было несложно. Ведь каждое целое число в этой арифметике равно своему остатку от деления на модуль. То есть в нашем примере число 1739 = 11 (mod 12), а число 3412 = 4 (mod 12). Так что с такими большими числами нужно действовать чуть сложнее, но всё равно просто: 1739 + 3412 (mod 12) = 11 + 4 (mod 12) = 3 (mod 12).

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

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

Мы с Катей потренировались и решили с десяток примеров, которые дал нам папа. В примерах были разные модули, а не только 12, как на часах, так что пришлось попотеть.

После этого отец продолжил:

— Это всё были приготовления. Теперь давайте вернёмся к проблеме, которую мы обсуждали в самом начале занятия. Есть задача секретного распределения ключей. Как с ней справиться? На помощь приходит модульная арифметика. Давайте рассмотрим пример. Возьмём модуль 13 и посмотрим, чему равны по этому модулю все степени числа 2 от нулевой до двадцатой. Кирилл, выпиши эти степени.

Я записал в блокноте: 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 262144, 524288, 1048576.

Теперь мы с Катей погрузились в расчёты и начали выписывать, чему равны эти числа по модулю 13. Хорошо, что папа был не против того, чтобы мы пользовались калькулятором. Получился такой ряд: 1, 2, 4, 8, 3, 6, 12, 11, 9, 5, 10, 7, 1, 2, 4, 8, 3, 6, 12, 11, 9. В общем-то сразу была видна закономерность. А отец спросил:

— Катерина, ты можешь сказать, чему будет равно 2 в степени 21 по модулю 13?

— Пять?

— Верно. Как вы видите, тут имеется явная закономерность — степени двойки вразнобой пробегают все числа от 1 до 12 при вычислении их остатка по модулю 13, потом всё повторяется. Этот период и эта последовательность будут повторяться до бесконечности. И это очень важное свойство, ради которого мы всё это рассмотрели. Давайте запишем такое уравнение:

2X = 11 (mod 13)

Отец написал его на листке и продемонстрировал нам. Неизвестное стояло в степени двойки, и я как-то сразу затруднился, поскольку в школе мы подобного ещё не проходили. Судя по виду Кати, она тоже не знала, как его решать. Отец же продолжил:

— Надо найти наименьшее число X, при подстановке которого в это уравнение оно становится правильным. Очевидно, что в данном случае это число 7. Но как решается это уравнение? Проблема в том, что решить его мы можем только способом перебора или очень сложного алгоритма, называющегося «дискретным логарифмированием». А теперь подумаем, что будет, если мы возьмём не модуль 13, а какое-нибудь другое число, состоящее из нескольких тысяч цифр. Теоретически такое уравнение решить можно, но на практике для этого потребуется слишком много времени. Очень много. Больше, чем есть у кого бы то ни было.

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

Тем временем отец продолжил:

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

Отец обратился к Кате:

— Ты, Катерина, должна выбрать какое-нибудь простое число. Не слишком большое, чтобы было просто считать — скажем, из второго десятка. Это будет модуль, и назовём его p. Потом для этого модуля надо подобрать другое простое число, которое должно обладать рассмотренным нами свойством: его степени, начиная от нулевой, перебирают все остатки от деления на выбранный модуль. К слову, такое число называется первообразным корнем, и мы будем обозначать его g. Ты помнишь, какие числа называются простыми?

Катя кивнула:

— Это такие числа, которые делятся нацело только сами на себя и на единицу.

Отец продолжил:

— И потом ты должна выбрать какую-нибудь степень, в которую ты будешь возводить первообразный корень g. Это будет твой секретный ключ, и мы назовём его a. Как только ты всё это выбрала, ты должна переслать Кириллу по рации три числа: p, g и A = ga mod p. Заметь, ты пересылаешь не свой секретный ключ, а значение первообразного корня в этой степени по выбранному модулю. Это очень важно. Давай выберем все эти числа и посмотрим, что получится.

Катя записала в своём блокноте:

p = 17

g = 5

a = 7

Папа быстро что-то набросал у себя и сказал, что выбранные числа p и g подходят, поэтому можно двигаться дальше. Он дал Кате листок бумаги и попросил записать на нём три числа, которые она должна передать мне. Катя что-то долго рассчитывала, потом написала:

p = 17

g = 5

A = 10

Папа достал свой смартфон и проверил Катины вычисления. Она всё сделала правильно. Тогда он взял у неё листок и передал его мне, сказав:

— Кирилл, теперь ты должен выбрать свой секретный ключ b и проделать ту же операцию, получив остаток B = gb mod p. Это полученное число B ты передашь назад Катерине. Выбирай, записывай у себя в блокноте и на листочке и передай своей напарнице.

Я записал:

b = 14

B = 15

Все расчеты я проделал тоже при помощи планшета, так как вычислить 5^14 вручную было уже очень сложно, а тем более — посчитать после этого остаток от деления на 17. Отец перепроверил меня и продолжил:

— Теперь смотрите: волшебство. У Кирилла есть числа p, g, A, b и B. У Катерины есть числа p, g, a, A и B. Каждый из вас может создать секретный ключ. У вас обоих он будет одинаковым, но никто из вас не передавал его друг другу. Как это сделать? Кирилл считает K = Ab mod p, а Катерина считает K = Bamod p. Давайте-ка проделаем это.

Мы с Катей принялись считать. У меня получилось: 10^14 mod 17 = 8. У Кати вышло: 15^7 mod 17 = 8. Всё сошлось. Отец торжествующе заявил:

— А теперь обратите внимание, что числа 8 нет на том листочке, который вы передавали друг другу. Так вы получили одинаковый секретный ключ, не передавая его в явном виде по открытому каналу. Ну не красота ли?

Катя засомневалась:

— Мне кажется, что число 8 слишком маленькое, чтобы быть ключом.

Но это нисколько не смутило отца. Он возразил:

— Во-первых, его необходимо перевести в двоичную систему, и это уже будет 01000 в пятибитном коде. Во-вторых, я уже сказал, что для этих целей используются числа огромных размеров — состоящие из нескольких тысяч цифр. А так-то узнать ваши секретные ключи a и b можно — это будет 7 и 14. Даже если бы я не знал их, то смог бы подобрать, перебрав варианты. Так что в качестве начального условия нужны именно огромные числа.

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

— До завтра придумайте аналогичный алгоритм передачи секретного ключа, основанный на другом методе. Это может быть любой метод. Главное в нём — невозможность быстро и легко выполнить обратную операцию. Вот в том, что мы рассмотрели, сложно от значения вернуться к показателю степени. Но это не обязательно может быть операция возведения в степень в кольце.

Мы пообещали что-нибудь придумать, и на этом наше занятие закончилось.

Из дневника Кирилла:

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

Интересно, какую ещё можно придумать операцию? Мне на ум приходит смешивание. Ведь смешать что-нибудь просто, а вот разделить потом назад совсем не просто. Надо подумать.

На следующее утро отец разбудил меня как-то слишком рано. Я чувствовал себя невыспавшимся, глаза слипались, в голове был какой-то туман. Через полчаса мы уже выдвинулись. Я сел на велосипед, и отец повесил мне на спину рюкзачок. По его словам, в нём были всякие съестные припасы и инструменты. У него за спиной висело ружьё, а по бокам были набитые чем-то сумки.

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

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

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

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

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

Отец остановился и осмотрелся. Потом он отвёз велосипед в тенёк, снял с себя все сумки и ружьё. Мы последовали его примеру. Отец сказал, что именно в этом месте надо искать. Он достал из кармана листок бумаги и показал нам — на нём было с десяток пар чисел. Как я понял, это были координаты, которые надо было найти на местности и как-то отметить.

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

Папа попробовал ставить колышки в каждой точке из своего списка. При обозначении первой точки он разработал целую методику, чтобы разметить колышками на земле эллипс. Но на это ушёл примерно час времени и все колышки. Так что мы вернулись к велосипедам.

Мы с Катей уселись на земле и начали изучать карту. По ней совершенно не было понятно, что мы находимся именно в том месте, которое отмечено на плане. Но мы решили довериться отцу и его знаниям. А он достал из моего рюкзака топорик и пошёл рубить сухостой, чтобы наделать ещё колышков. Дело спорилось: папа рубил небольшие чурбачки, затачивал их топором с одной стороны, а затем я с другой стороны обрабатывал их ножом. Увы, на этот раз они получилась не такие ровные и белые. Впрочем, вскоре у меня заболела рука, так что я прекратил это занятие, и мы с Катей решили прокатиться на велосипедах.

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

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

Тётя Катя очень строго выговорила нам, что мы и обед пропустили, и на ужин опоздали. Папа ответил было, что мы занимались очень важным делом, но она только рукой махнула и потребовала, чтобы мы быстро шли ужинать. После ужина я еле доехал до штаба и моментально завалился спать. А вот отец засел за какое-то дело. Просто удивительно.

На следующее утро папа разрешил нам поспать дольше обычного. Я провалялся практически до полудня, играя на планшете и переписываясь с Катей. Отец занимался своим ноутбуком и что-то делал по хозяйству. О наших вчерашних приключениях он не говорил. Когда приехала Катя, я спросил:

— Папа, расскажешь нам теперь, как ты планируешь искать клад?

— Ну… Я уже сказал, что нужны щуп и металлоискатель. Я уже попросил их привезти, так что через пару дней сможем продолжить. А пока придётся потерпеть. Мы разметили местность. Когда появятся инструменты, быстро всё сделаем.

Отец в свою очередь спросил:

— Вы подумали, как ещё можно передавать друг другу секретные ключи по открытому каналу, используя тот же самый принцип, что и в протоколе Диффи — Хеллмана?

— «Протоколе…» чьем?

— Тот способ обмена секретным ключом, про который я рассказывал позавчера, называется «протокол Диффи — Хеллмана» по имени двух его создателей — Уитфилда Диффи и Мартина Хеллмана. Был и третий учёный, который независимо от этой пары предложил похожую схему, — Ральф Меркл. Про него обычно не упоминают, хотя это и незаслуженно.

Я посмотрел на Катю, а она внезапно сказала:

— Я придумала.

Отец кивнул ей, и Катя начала объяснять:

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

Вот ведь какая. Я сам практически додумался до этого способа, но вчера из-за путешествия в Муханские овраги у меня не хватило сил всё обдумать. Тем временем Катя продолжала:

— Мы с Кириллом должны выбрать по одному цвету, и это будут наши секретные цвета. Пусть я выбрала, например, красный, а Кирилл — синий. Потом я выбираю третий цвет, с которым мы будем смешивать. Например, жёлтый. Я смешиваю свой секретный красный цвет с жёлтым и получаю оранжевый. После этого я передаю Кириллу два цвета: жёлтый и оранжевый. Кирилл смешивает свой секретный синий цвет с жёлтым и получает зелёный. Теперь у меня есть три цвета: красный, жёлтый и оранжевый; и у Кирилла есть четыре цвета: синий, жёлтый, оранжевый и зелёный. Кирилл передаёт мне зелёный цвет, и после этого мы получаем секретный цвет, не обмениваясь им. Я должна смешать свой секретный красный цвет с полученным зелёным, и получится коричневый. А Кирилл должен смешать свой секретный синий цвет с оранжевым, и тоже получится коричневый. Но мы не передавали коричневого цвета, а передавали только жёлтый, оранжевый и зелёный. Как эти цвета друг с другом ни смешивать, коричневого не получить.

Папа хлопнул в ладоши и воскликнул:

— Катерина, ты просто молодец! Но… если мы смешаем оранжевый и зелёный, то разве не получим коричневый?

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

Отец взял лист бумаги и нарисовал такую диаграмму:

Мы с Катей внимательно изучили нарисованное — вроде бы всё понятно. Отец сказал:

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

Мы пообещали подумать над тем, как сделать диаграмму универсальной.

* * *

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

Отец достал коробку с новеньким металлоискателем и погрузился в изучение инструкции. Я развернул упаковку и проверил заряд аккумулятора — он был практически полностью заряжен.

Тут приехала Катя, и мы ушли в тир. Стрелять из пневматического оружия было одно удовольствие. Я демонстрировал Кате чудеса прицельной стрельбы, но и она уже стреляла достаточно метко. В один из туров она сравнялась со мной по очкам.

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

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

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

* * *

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

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

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

— Вообще никаких сигналов. Здесь нет ни грамма металла. Ни цветного, ни чёрного.

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

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

— Директор музея говорил, что ему неизвестны случаи расшифровки, но мало ли. Я бы тоже не стал говорить ему, да и кому бы то ни было, что мне удалось расшифровать тайное письмо. Даже если бы я раскопал клад, то не стал бы говорить ни о кладе, ни о шифровке. Зачем? Это привлекло бы очень много внимания. Поэтому высока вероятность, что мы просто не первые. Но возможно и то, что мы неправильно нашли место. Надо перепроверить ещё раз все расчёты.

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

Глава 11

Началось время гроз. Мы опять сидели в амбаре у тёти Кати и размышляли о том, что произошло за эти недели. С нашего фиаско в Муханских оврагах прошло два дня, мы вполне осмыслили то, что произошло, и могли планировать дальнейшие действия.

За стенами амбара грохотали раскаты грома. Отец сказал:

— Знаете, почему гроза? Потому что вчера был Перунов день, день бога-громовержца. Поэтому он мечет громы и молнии и будет делать это ещё дней десять.

Меня аж передёрнуло, и я воскликнул:

— А не путаешь ли ты, папенька, причину со следствием?

— Поясни…

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

Отец посмотрел на Катю и спросил:

— Ты понимаешь, о чём мы?

Катя покачала головой. Тогда отец рассказал:

— Давным-давно, когда у людей ещё не было точных часов и ведение календаря было делом незаурядным, все равно надо было планировать хозяйство: когда посадить пшеницу, когда начинать косить и тому подобные дела. Единственная возможность, какая была у людей тогда, — наблюдение за природными явлениями. Систематические наблюдения дали возможность проанализировать особенности климата и погоды. Так возникли погодные приметы. Но так же возникло и понимание длинных циклов в развитии природы. Для простоты один такой цикл, который мы называем годом, разделили на более короткие периоды. Границами таких периодов стали естественные солнечные события — равноденствия и солнцестояния, то есть сутки с равной длиной дня и ночи и сутки с самым длинным днём летом и самой длинной ночью зимой. Именно эти дни и начинают собой то, что сейчас мы называем сезонами.

Катя слушала. Тем временем отец продолжал:

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

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

Так прошло несколько дней. Поскольку дождь лил, просто не переставая, мы с папой передвигались только на машине. Мы приезжали к Кате в первой половине дня, и папа вел научные занятия и демонстрировал опыты, рассказывал всякие удивительные истории. Всё это было очень интересно, но как-то раз он вновь вспомнил о протоколе Диффи — Хеллмана. Он спросил:

— А думали ли вы, как можно взломать протокол обмена секретными ключами по открытому каналу, который мы с вами изучили не так давно?

Мы с Катей, конечно же, не думали. Тогда папа сказал:

— Кажется, что протокол безупречен. Его стойкость основана на гипотезе, что обратную операцию для возведения в степень по модулю проделать очень сложно. Пока что эту гипотезу никто не опроверг. Но давайте посмотрим на проблему с другой стороны. Для этого воспользуемся той аналогией с перемешиванием цветов, которую придумала Катя, поскольку так будет проще объяснять.

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

— А теперь представьте такую ситуацию. Вы же обмениваетесь информацией по открытому каналу, то есть как и куда она может попасть, вы не знаете. Давайте представим, что я сижу между вами и все ваши передачи идут через меня. Почему бы и нет? Ведь канал открытый. Так что, Кирилл, давай мне листочек.

Я протянул листочек отцу, уже чувствуя что-то не то. Отец отложил его в сторону, взял новый листок и написал на нём — «синий» и «оранжевый», после чего передал Кате. Катя недоумённо посмотрела на него, а он объяснил:

— Смотрите, я заменил информацию. Поскольку канал открыт, никто из вас не может гарантировать, что передача информации произойдёт без искажений. Вот я и исказил данные. Теперь Катерина должна взять у меня листок и использовать его так, как будто бы получила от Кирилла. То есть взять оранжевый цвет, которым я заменил коричневый, и использовать его для получения итогового цвета. А красный цвет смешать со своим секретным, после чего передать его Кириллу. Что получается?

— Розовый.

Катя взяла новый листок и, написав на нём слово «розовый», передала его отцу. Он положил новый листок перед собой и продолжил:

— Теперь Катерина должна получить свой ключ. Она смешивает оранжевый и свой секретный цвет. Я пока не знаю новый цвет, но его использует Катерина для шифровки. А Кириллу я передаю данные так, как будто от Катерины пришёл цвет, полученный от смешения красного и, например, синего.

Отец взял новый листок, написал на нём «фиолетовый» и передал его мне. Затем он нарисовал диаграмму взаимодействия.

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

Затем он продолжил:

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

Я сразу выпалил:

— Ты можешь, как хочешь, менять их содержание, и мы тоже ничего не узнаем.

— Молодец, Кирилл. Всё правильно. И этот способ взлома называется «человек посередине», или по-английски «man in the middle», а для краткости просто MITM. Это одна из самых мощных атак на практически любую систему защиты, от неё сложно защититься. Но скоро мы узнаем как.

Катя вздохнула и спросила:

— А есть ли вообще системы шифрования, не поддающиеся взлому?

— Теоретически есть. Проблема в том, что на практике всегда возникают разные нюансы, которыми может воспользоваться злоумышленник или криптоаналитик. Вот, например, так называемый одноразовый блокнот, который мы скоро изучим. В теории это абсолютно стойкая криптосистема, однако опять возникает проблема распространения ключей. Для неё есть решение, но оно может быть взломано при помощи атаки MITM.

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

* * *

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

На второй день ясной погоды солнце светило уже вовсю, и прямо с утра в тени было под тридцать градусов. Вся небесная вода, обрушившаяся на нас за эти дни, высохла уже к обеду. Я наблюдал за всеми этими изменениями и удивлялся, как здесь вообще могут расти хоть какие-то культурные растения. Но отец сказал, что раньше тут собирали хорошие урожаи, а Тамбовская губерния вообще была одним из богатейших сельскохозяйственных регионов в России. А всё дело в прекрасном чернозёме, на котором всё растёт, как тесто на дрожжах.

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

Катя уже ждала нас. Мы проехали по заднему огороду тёти Кати и попали на тропинку, которая шла вдоль огородов. Через минут пять мы стояли около того самого въезда в лес, и на меня опять нахлынули воспоминания. Отец остановился и сказал, что мы направляемся в чащу, где можно заблудиться, поэтому он поедет позади, чтобы видеть нас, и будет кричать, куда ехать, так что нам надо быть внимательными. Я поехал первым, Катя — за мной. Так мы оказались в лесу.

И дальше мы попали именно туда, куда вместе с Марком я ездил в своих воспоминаниях. Сначала мы проехали два квартала — я специально высматривал просеки и столбы — и тут папа крикнул, чтобы я поворачивал налево. Через пару минут передо мной открылась огромная прогалина. Мы ехали по проселочной дороге, по которой, должно быть, ездили какие-нибудь грузовики. Высоких деревьев вокруг не было, а по сторонам дороги стояла трава, и только кое-где росли редкие берёзки или осины. Но я видел множество поваленных деревьев, уже превратившихся в гнилушки.

Я не мог сравнить то, что я видел, со своими воспоминаниями, поскольку это были общие представления о каком-то лесе: я не помнил никаких ориентиров. Так что всё, что я видел, накладывалось на мои наведенные воспоминания, и мне казалось, что я тут и ездил, когда искал запрятанный отцовский клад.

На новом перекрёстке отец крикнул, чтобы я поворачивал направо. Я остановился, и за мной остановились все. Я спросил:

— Ты точно знаешь, куда нам ехать?

Конечно, я имел в виду совсем другое: меня интересовало, почему отец ведёт нас именно по той дороге, по которой я как будто бы уже ездил. Он понял меня, улыбнулся и ответил:

— Конечно. Это единственная дорога, которую я знаю.

Катя беспечно смотрела по сторонам и совсем не поняла наших тайных сигналов. Я наконец вернулся в голову нашей группы и поехал направо.

Папа командовал, я ехал, больше не останавливаясь. Мы миновали ещё с десяток кварталов, поворачивая по известным только отцу приметам, и я уже сбился со счёта и вряд ли бы смог вернуться назад. Дорога постепенно превратилась в заросшую травой тропинку. Через двести метров отец вообще крикнул, чтобы мы останавливались. Поставив велосипеды около толстой берёзы, мы собрались вокруг него. Он объявил:

— Дальше мы пойдём пешком по лесу и болоту. Ни в коем случае не отставайте от меня, но и близко не идите, иначе ветки могут хлестнуть вам по глазам. Сначала мы пойдём по сосновому бору, потом вокруг болота, потом по лиственному лесу. Запоминайте всё вокруг, чтобы иметь возможность выбраться самостоятельно. Велосипеды оставим здесь: тут никто не ездит и тем более не ходит. Ближайшее село — наше.

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

Но болото мы прошли без проблем. Дальше мы углубились в ольшанник, прошли метров пятьдесят и выбрались к широкому водному простору. Я остановился, как вкопанный — никак не ожидал, что в здешних лесах лежит озеро огромных размеров. Оно натурально уходило до горизонта — его противоположного берега не было видно. Катя тоже удивилась: по её виду это было ясно и без слов. Она спросила:

— Что это?

— Это Тритоново болото.

— Болото? Но это же больше похоже на озеро.

— Ну… Тут всё болота. Это, скорее всего, так же выгорело, как и наше Гаретое, поэтому оно глубокое и многоводное. Но это болото. Если подъехать к нему с другой стороны, оно будет выглядеть примерно так же, как то, что мы прошли, добираясь сюда.

Отец протянул руку и указал куда-то справа от нас.

— Видите, вот там на берегу стоит огромное сухое дерево. Вот с той стороны к этому болоту вообще лучше не подходить, совершенно гиблое место.

Катя поёжилась, а я спросил:

— Зачем же мы сюда приехали?

— Ну тут-то место не гиблое, нечего пугаться. Посидим, половим рыбу.

Папа снял с плеча чехол и достал из него сложенную удочку. Вот что там было!

Мы расположились на довольно плотном берегу. К воде вполне можно было подойти посуху и даже, наверное, искупаться. Папа нашёл ветку с развилкой, срезал её и сделал что-то вроде рогатки с очень длинной рукояткой. Он воткнул ее в дно болота метрах в двух от берега, затем достал из своей сумки пачку, в которой оказался комбинированный корм для скота. Отец горстями рассыпал содержимое пачки в воду примерно там, где собирался ставить удочку. Комбикорм с шипением уходил под воду.

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

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

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

Отец сказал:

— Возьми в сумке пакет, зачерпни туда воды и клади улов в него.

Я так и сделал. Потом взял хлеб и начал делать катышки, чтобы насаживать на крючок. Но отец сказал, что это дело бессмысленное — они быстро высохнут, и лучше каждый раз отламывать кусочки и делать свежую наживку.

Прошёл час. В нашем пакете болталось уже полсотни рыбин. Отец закинул удочку в последний раз, достал очередную краснопёрку и стал собираться. Улов был огромный, и я не мог представить, как мы его повезём назад.

Катя была в изумлении, да и я сам такого ещё не видел. Мы молча дошли до велосипедов, и только тут я спросил:

— Что это за болото, в котором водится столько рыбы?

— Я же сказал, что это Тритоново болото. Когда-то оно было очень чистым. Я думаю, что как раз после пожара. Мы плавали на лодке, было очень красиво: вода была такая прозрачная, что дно было видно практически везде. А потом мы с дядькой решили, что сюда надо завезти рыбу, и стали запускать сюда мальков, которых ловили во всех окрестных болотах. Через пару лет после того, как мы начали этот эксперимент, нам каждый год удавалось выловить огромное количество рыбы, и она не мельчала и не переводилась. После лета в деревне я увозил домой мешок сушёной рыбы.

Сильно. Вот уж не думал, что через столько лет здесь останется такая же рыбалка. Я даже не мог представить, как мы поступим со всей этой рыбой. И Катя, как будто бы читая мои мысли, спросила:

— Что же мы будем делать с таким богатым уловом?

— Часть пожарим. Ты пробовала жареных в сметане карасей? Очень вкусно. Большую часть засолим и высушим. Это просто и не потребует больших усилий. Через пару недель уже сможем попробовать сушёную рыбу. А если понравится, то можно и повторить. В этом болоте неисчерпаемые запасы, а знают про них всего лишь несколько человек.

Мы медленно ехали к деревне. Постепенно начинало темнеть, и уже приходилось напрягать зрение. Внезапно отец сказал:

— Знаете, с этим болотом у меня связана ещё одна история. Однажды мы так же приехали сюда, и дядя оставил меня здесь ловить рыбу, а сам уехал на другое болото проверить нырёта. Место это знали только мы с ним. Когда бывали здесь, то траву никогда не мяли, и старались ходить разными путями. Здесь у нас были шалаш и помост, выходящий далеко в воду, чтобы можно было ловить на глубине. И вот я засел с двумя удочками, а он сел на мотоцикл и уехал. Обычно он отсутствовал минут тридцать, за это время я успевал наловить около шестидесяти рыб. И когда он ехал назад, то сигналил с другой стороны болота. Было хорошо слышно. Тогда я сматывал удочки, собирал всю рыбу и выходил на тропинку, а он как раз подъезжал. Но в тот раз что-то пошло не так. Я успел наловить почти сотню рыб, то есть прошёл почти час. Сигналов не было, а солнце уже село, и начало смеркаться. Я не знал, что делать. Вдруг раздался дикий вой, или крик, не знаю. Я до сих пор вспоминаю это с содроганием, А тогда натурально чуть в обморок не упал. Мне было-то лет двенадцать. И вот я сижу один на помосте, вокруг уже темно… и тут мне слышатся какие-то сигналы. Я быстро смотал удочки, отнёс их в шалаш, собрал всю рыбу и побежал на дорогу — чуть было не попал в омут, но обошлось. И вот я, запыхавшись, выхожу на тропку, а там никого. И через десять минут никого. Я стоял в полной темноте и не знал, что делать дальше.

— Какие у тебя были варианты?

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

— Да, что это был за вой?

— Откуда я знаю. Потом никто не мог мне объяснить. А знаете, что я сделал? Самое странное, бессмысленное — я поставил сумку с рыбой около берёзы и пошёл навстречу дяде. Я прошёл с километр и дошёл до развилки, но не знал, куда двигаться дальше. Тогда я повернулся и поплёлся назад к брошенной рыбе. И тут меня догнал дядя. Он ничего не сказал, ничего не спросил, я просто сел сзади него на мотоцикл, и мы поехали домой. И больше мы это происшествие никогда не обсуждали. Не знаю, что это было. Тут в округе очень много странностей.

Я согласно кивнул, вспомнив «то самое место в верховьях ручья».

Потихоньку мы доехали до дома тёти Кати. На улице было уже темно. Тётя Катя уже легла спать, оставив нам на ужин блины с мёдом. Мы с удовольствием поели, отец помыл посуду, и мы поехали домой.

Пока возвращались, я спросил:

— А куда ты дел рыбу?

— На дворе поставил чан, налил воды и выпустил туда.

— Наверняка дохлые будут.

— Они очень живучие. Но утром посмотрим. Дохлых котам отдадим, остальных будем использовать.

* * *

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

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

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

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

Из дневника Кирилла:

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

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

Глава 12

Папа склонился над клавиатурой своего ноутбука и что-то усердно печатал. Я открыл глаза и долго наблюдал за ним, не подавая вида, что проснулся. Он то и дело поднимался к принтеру, доставал из него новую распечатку, что-то помечал в ней карандашом и откладывал.

Наконец мне надоело валяться, и я как будто бы проснулся. Отец сказал, чтобы я срочно приводил себя в порядок, завтракал и приходил к нему — он нашёл очень интересные данные, в том числе и о наших предках.

Я так и сделал. В доме на плитке стояла ещё горячая яичница с беконом, остатки вчерашних карасей и пара пирожков. Я налил себе чаю с травами, поел, попил и вернулся к отцу. К этому времени приехала и Катя. Отец сказал:

— Помните, когда мы вернулись из Тамбовского архива, я сказал, что в скопированных нами документах есть много интересного? Сегодня я решил разобрать те самые ревизские сказки, которые мы нашли. И знаете… В них есть всё про наших предков. Смотрите сами.

Отец разложил листы на земле перед нами. На них были карандашные пометки и обведённые маркером фамилии. Одна фамилия была наша, другая — тёти Кати и моей прабабушки в девичестве, ещё одна — Катина. Были и другие, незнакомые фамилии.

— Я смог восстановить несколько родственных связей, про которые раньше не знал. Смотрите, я отобрал все семьи с одинаковой фамилией — она очень распространена в этом селе. У тёти Кати, например, такая фамилия. Здесь почему-то считается, что это всё однофамильцы. Но даже когда я был подростком и расспрашивал родственников о том, кто кому кем приходится, не мог поверить, что в таком небольшом селе столько однофамильцев. И вот этот старинный документ всё объяснил. Все представители этой фамилии пошли из одной семьи. Вот она…

Папа пододвинул к нам один лист, на котором было обведено имя «Аникей». По данным в документе выходило, что он жил во второй половине XVIII века. Вот это старина! Неужели можно отыскать информацию из таких глубин? Между тем отец продолжал:

— А вот наша с Кириллом фамилия. По ней тоже можно проследить предков до очень давних времён. Самым древним представителем нашего рода является некий Трофим. Он был прапрапрадедом моему деду Трофиму. Вряд ли его родители знали, что у них в роду уже есть Трофим, так что это просто совпадение. То есть, Кирилл, мы сейчас нашли одного из твоих прапрапрапрапрапрадедов. Думаю, что никто из твоих знакомых таким похвалиться не может.

Катя спросила:

— А о моих предках что-нибудь есть?

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

Я спросил:

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

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

— Но как же так? Разве это не суеверие? Если люди полюбили друг друга, то почему надо думать о родственных связях?

— Катерина, не всё так просто. Ты же в курсе про гены?

Катя с сомнением покачала головой. Отец продолжил:

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

Похоже, что отец не смог переубедить Катю. Она всё так же с сомнением смотрела на разложенные перед нами листы. Наконец отец сказал:

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

Отец нарисовал для нас примеры генеалогических древ и раздал листки, которые отобрал и пометил. Мы должны были для каждой семьи на этих листках нарисовать генеалогическое древо. Выглядело это примерно так:

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

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

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

— Ну-ка, становись напротив света. Я тебя сейчас сфотографирую.

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

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

* * *

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

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

Из дневника Кирилла:

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

Ведь если поразмыслить… У меня двое родителей. У каждого из них ещё по двое, и так далее до самого начала, то есть с каждым новым поколением количество прямых предков увеличивается. Но ведь чем дальше прошлое, тем меньше тогда жило людей. Как же разрешить этот парадокс — количество прямых предков увеличивается, а количество живших людей уменьшается? Скорее всего, многие ветви в генеалогическом древе предков начинают сливаться, как это произошло в моём случае. Ну и ещё: чем глубже в историю, тем яснее, что все люди — родственники.

С утра мы с папой сразу же сели на велосипеды и поехали к тёте Кате. Папа натянул длинную верёвку через весь двор, вынес туда чан с засоленной рыбой и открыл его. Густой запах рыбы мгновенно распространился вокруг, но пахло уже не сырой рыбой, привлекавшей котов, а чем-то новым. В чане по краям выкристаллизовалась соль. Сама рыба была мягкой.

Отец стал вынимать по одной рыбе и вешать на натянутую верёвку. Запах тут же привлек множество мух, но отец не обращал на них внимания. Катя поморщилась и спросила, как же так — такая антисанитария. Но отец возразил, что мухи даже не будут пробовать настолько соленую рыбу, и уж тем более не будут откладывать в неё свои яйца. А то, что они будут садиться на рыбу — не страшно, ведь с неё всё равно надо будет снимать чешую.

Мы провозились с этой рыбой до обеда. Но после обеда и отдыха папа не дал нам даже чуть-чуть поиграть, а потащил нас на другой конец Красавки. Его целью был гигантских размеров дуб. Мы отставили велосипеды, и папа начал посматривать, как на этот дуб влезть. Он сказал, что раньше здесь росло ещё несколько деревьев поменьше, так что они перелезали на дуб с них. А сейчас так сделать было нельзя.

Отец сходил к развалившемуся плетню ближайшего огорода и принёс две длинные жерди. Он прислонил их к стволу дуба так, чтобы по ним можно было взойти, медленно вскарабкался до ствола и ухватился за самую нижнюю ветку. Там он уселся, укрепился и поманил меня. Я попробовал повторить то же самое, но несколько раз спрыгивал с жердей на землю. В конце концов я тоже добрался до ствола, а там уже отец протянул мне руку и помог забраться.

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

Мы с отцом залезли ещё выше, и земля уже скрылась за плотной листвой. Отец взял тонкую ветку, перевернул её нижней стороной листьев вверх, и я увидел странное явление — листья были усыпаны ровными светло-зелёными шариками разного размера. Отец сказал:

— Это чернильные орешки.

— Орешки? На дубе? Ты смеёшься?

— Нет, совсем не смеюсь. Это результаты жизнедеятельности орехотворок — таких мелких насекомых, родственных пчёлам, осам и муравьям.

— Перепончатокрылые?

— Ну да.

— Значит, ещё и наездникам.

— Я знаю, что ты прекрасно знаком с номенклатурой насекомых. Но сейчас давай-ка соберём этих орешков про запас.

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

Минут через пять мы набрали несколько десятков, отец сказал, что этого вполне достаточно, и мы спустились.

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

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

Нам надо было оставить чернильные орешки на печке на несколько дней, чтобы они смогли полностью высохнуть. Но слушать о красках было так интересно, что мы с Катей в один голос потребовали продолжения. Тогда он спросил:

— Ну хорошо. Что, по-вашему, может быть основой краски?

Катя сразу же выпалила:

— Масло.

Отец кивнул:

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

Я спросил:

— А какого цвета будут краски? И из каких пигментов?

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

Затем он попросил у тёти Кати подсолнечного масла, и та нехотя отлила небольшой пузырёк «на пустоту». Отец пробурчал, что завтра купит ей десять тысяч новых бутылок масла. Затем мы расположились в амбаре, отец разложил все заготовленные вещества перед собой, принёс ещё одну небольшую склянку из-под какого-то лекарства и крышку от пятилитровой бутыли воды.

В эту крышку он высыпал всю сажу, потом потолок её карандашом, чтобы не было комочков. Затем он стал тихонько капать в крышку масло. Мы с Катей смотрели как заворожённые. Тем же карандашом отец помешивал получающуюся густую массу. Он продолжал мешать и после того, как прекратил вливать масло. Через десять минут в крышке была текучая смесь абсолютно черного цвета, которую отец осторожно перелил в заготовленную склянку. Хватило как раз на одну баночку.

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

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

На следующий день мы прямо с утра сели на велосипеды и втроём поехали в Альдию по объездной дороге прямо к дому наших родственников. Отец ехал уверенно — казалось, он хорошо знает путь. Дорога заняла примерно полчаса, и перед нами оказался тот самый дом, где я как будто бы познакомился со своей тётей. Мы подъехали и спешились. Около дома в песке играли маленькие девочки. Из дома сразу же вышла какая-то женщина, а отец помахал ей и крикнул:

— Привет, Оля! Чай, не узнала?

Та всплеснула руками:

— Маша! Маша, выходи! Ты только посмотри, кто к нам приехал! Сколько лет, сколько зим!

Из дома выскочила Маша. Она была именно такой, какой я её помнил. Но мы, конечно же, ещё не были знакомы.

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

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

Отец дал нам плоскую жестяную баночку и шпатель, и мы с Катей поехали.

Улица оказалась очень длинной. Похоже, что она была длиннее Красавки у нас в селе. Мы ехали минут пятнадцать, на площади повернули направо и ехали ещё минут пять. И тогда по левую руку действительно раскинулся сад. Когда-то он был огорожен, но теперь забор повалился, и лишь кое-где ещё стояли столбы. Похоже, что раньше это был колхозный сад, а стал диким: за ним не ухаживали, он весь зарос бурьяном. Так что мы с Катей отставили велосипеды и полезли в травяную чащобу.

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

Я спросил:

— Ты знаешь, зачем мы это собираем?

— Наверное, всё для того же — будем делать краски.

— Это основа или пигмент?

— Скорее всего, основа. Или ещё что-то. Но точно не пигмент.

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

На обратном пути отец сказал, что заодно взял у сестёр небольшой кусочек пчелиного воска, который тоже нам пригодится. Тут он притормозил и показал мне какой-то камень на дороге. Я соскочил с велосипеда и поднял его — это оказался бурый рассыпчатый камень, что-то типа песчаника или слипшейся супеси. Отец положил его в пакетик и тоже сунул в рюкзак. Так мы и доехали до дома тёти Кати. Она, конечно же, обрадовалась гостинцам, а про масло сказала, что отец слишком буквально все понимает.

В амбаре отец достал камень и раскрошил его пальцами. Потом получившийся песок мы просеяли через ситечко, которое отец сделал из бинта. Получилась совсем невесомая пыль бурого цвета, и её отец долго толок какой-то железякой. Он отлил масла в отдельную склянку и отставил её. Затем на взятой у тёти Кати плитке он расплавил собранную нами смолу так. Из жидкой смолы он долго и кропотливо вынимал частички грязи, коры, листочков и другой мусор, а потом вылил её в склянку с маслом. Я взялся перемешивать получившуюся смесь, но дело шло туго. Катя взяла у отца бурую пыль и продолжила её растирать. В общем, почти как в настоящей алхимической лаборатории.

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

Катя спросила:

— А зачем же смола?

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

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

* * *

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

Пока мы занимались изготовлением масляных красок, папа порезал на маленькие кусочки и залил уксусом чернильные орешки. Они как раз высохли на печке, скукожились, стали коричневыми. Эту «настойку» отец поставил обратно на печку, но тётя Катя заругалась, что он провонял всю избу уксусом. Пришлось орешки забрать к нам в амбар и поставить около примуса. Надо было настаивать их часов восемь.

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

До вечера еще оставалось время, так что мы съездили на Гаретое искупаться. Плот был на месте, мы поплавали, я поймал несколько пиявок и посадил в банку. В общем, день прошёл очень интересно.

А вечером, когда чернильные орешки совсем раскисли в уксусе, отец развёл в стакане воды удобрение, которое он купил в Альдии, и вылил в раствор. Он сразу же сделался иссиня-чёрным. Удобрение оказалось обыкновенным железным купоросом. Мы процедили получившиеся чернила через марлю и вылили их в очередную склянку. Я попробовал написать спичкой, и у меня получилось — на бумаге оставался неровный чернильный след. Отец сказал, что завтра мы сделаем перья, которыми будем писать…

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

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

Катя сидела в раздумьях. Я спросил, почему она не начинает, а она ответила, что не может подобрать тему и сюжет. Тогда я предложил нарисовать что-нибудь из греческой мифологии. Например, Персея, который показывает отрубленную голову Горгоны Медузы чудовищу, чтобы спасти Андромеду, прикованную к скале. Катя, что удивительно, согласилась.

Я съездил в штаб и притащил ей новый блокнот и карандаши для набросков. Она принялась за дело, а я ходил вокруг и посматривал. В конце концов она меня прогнала, потому что я будто бы сбивал её с творческого настроя. Так что я вновь уехал в штаб и завалился читать. Папа посмеялся надо мной и рекомендовал набраться терпения. Дескать, творческие люди — они такие.

Вечером Катя сообщила по рации, что готова показать нам своё творение. Мы с папой быстро приехали, и она, гордая, стояла около камня с кисточкой в руке и демонстрировала результаты своего труда. Я немного разочаровался — стоило так гнать. На мой взгляд, она нарисовала что-то совсем несуразное. Я ожидал увидеть море, скалу с прикованной Андромедой и Персея с головой Горгоны, а перед моими глазами была красно-чёрная картинка со стилизованными фигурками.

А вот папа почему-то был в восторге. Он многословно хвалил Катю и её способности. Я недоумённо посмотрел на него, а он сказал:

— Ты просто не в курсе. Это один из известнейших стилей Древней Греции — так называемая краснофигурная роспись. Древние ахейцы таким образом расписывали свои амфоры для вина и масла: черным лаком по красной глине. Была еще и чёрнофигурная роспись. Но я правильно понимаю, Катерина, что ты выбрала краснофигурную потому, что чёрной краски у нас получилось много, а красной — не очень?

Катя согласилась. Да, получается, что я попал впросак. Теперь-то я действительно припомнил, что видел подобный стиль именно на вазах и всяких чашках в музеях Греции. Присмотревшись получше, я понял, что саму сцену Катя нарисовала совсем неплохо. А папа тем временем продолжал:

— Прекрасно. Я вижу, что это сцена из мифа о Персее и Андромеде. Кто был автором идеи?

— Кирилл.

Отец повернулся ко мне:

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

На том мы и расстались.

* * *

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

…Кстати, про чернильные орешки. Папа где-то достал гусиные перья, специальным образом отрезал у них кончики, и теперь мы могли писать так, как это делали древние писцы. Но писать было не на чем, поскольку ведь совсем некрасиво писать самодельными чернилами и самодельными перьями на разлинованной бумаге.

Когда Катя приехала, отец посадил нас на скамейку около нашего штаба и с видом заговорщика сказал:

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

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

Отец раскрыл ящик, достал оттуда два свёртка и развернул их. Там оказались два прибора прямо-таки космического вида, похожие на лазерные пушки на треногах. На каждом была небольшая панелька с дисплеем и разноцветными кнопками. Отец сказал:

— Это лазерные пушки, которые мы разработали в моей лаборатории.

Я крякнул от удивления:

— Я как раз и подумал, что эти штуки похожи на лазерные пушки.

— Да. И мы их будем использовать. Но вы не увидите лучей, как в кино. Придётся довольствоваться показаниями приборов. При этом стрелять может только одна пушка, а вторая принимает сигнал. И стрелять можно из первой во вторую. Всё остальное не имеет смысла.

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

На следующий день папа прямо с самого утра продолжил занятия. Он сказал, что сегодня мы будем заниматься весь день, до обеда он расскажет нам теорию, а во второй половине дня мы займёмся практикой. Я с нетерпением поглядывал на лазерные пушки, которые мы настроили вчера.

Рассевшись, мы начали занятие. Папа взял с места в карьер:

— Давайте подумаем, что мы знаем о свете. Вы же помните, что лазер — это свет, пучок мельчайших частиц света, называемых «фотонами»?

Мы дружно кивнули. Он продолжил:

— Для передачи информации мы воспользуемся характеристикой фотона, которая называется поляризацией. Эта характеристика обозначает то, в какой плоскости колеблется фотон. Для наших целей мы возьмём четыре способа поляризации фотона: горизонтальный, вертикальный и два диагональных — слева направо и справа налево. Четыре способа, понятно? Вас ничего не смущает?

Катя сразу же нашлась:

— Но мы же раньше говорили, что для передачи любой информации можно пользоваться битами, то есть 0 и 1. Другими словами, нам нужно два разных значения характеристики фотона. Зачем же мы берём четыре?

— Вопрос резонный, именно его я и хотел услышать. Но в этом и состоит суть алгоритма. Дело в том, что поляризацию фотона можно измерять двумя способами: во-первых, в вертикально-горизонтальном направлении, а во-вторых — в диагонально-диагональном. Первый способ измерения обозначается прямым крестом, а второй — косым.

Папа нарисовал в пыли на земле две фигуры:

Он продолжил:

— И вот что интересно. Если фотон поляризован вертикально или горизонтально, то измеряя его в вертикально-горизонтальном направлении, прибор даст точную поляризацию. А если измерять в диагонально-диагональном направлении, то прибор с вероятностью 50 % покажет поляризацию слева направо или справа налево, независимо от того, какая она была у фотона. То же самое касается и измерения диагонально поляризованных фотонов при помощи вертикально-горизонтального прибора: в половине случаев прибор покажет вертикальную поляризацию, в половине — горизонтальную, причём опять независимо от того, какая поляризация была у фотона изначально. Понятно?

Мы с Катей одновременно помотали головами. Папа вздохнул и нарисовал на листке такую схему:

Да, так стало намного понятнее. Тем временем папа продолжил:

— Но эти мои слова не объясняют, зачем нам четыре разных варианта фотона, ведь так? Действительно, это была лишь присказка. Слушайте сказку…

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

Когда некто хочет передать своему товарищу секретный ключ, он создает случайную последовательность битов. Однако потом он создает вторую случайную последовательность, которая определяет, в какой поляризации передавать соответствующий бит. При этом «0» в этой второй последовательности обозначает вертикально-горизонтальную поляризацию, а «1» — диагонально-диагональную. Получается примерно так:

Соответственно, теперь эту последовательность фотонов нужно отправить второму участнику переписки: \/—||/—/\|. Но что же должен сделать он? Он же не знает, в какой именно поляризации отправлены фотоны, так что измерять он может любым из двух приборов: вертикально-горизонтальным или диагонально-диагональным. Для измерения можно выбрать один прибор, либо использовать для каждого прибора свой прибор, выбираемый случайным образом. Это абсолютно неважно, так как в среднем половина переданных фотонов будет измерена правильным прибором, а другая половина неправильным, и результат неправильного измерения случаен.

Например, пусть для указанной передачи получатель использовал вертикально-горизонтальный прибор. Тогда он мог получить такой результат: ||—||—|—|. Это соответствует последовательности битов 0010011010. А передана была 0110011100. Как же быть? Всё просто. Теперь отправитель связывается с получателем по открытому каналу — например, по телефону — и говорит, в какой поляризации были отправлены фотоны, а получатель сообщает, какие из них были измерены правильным образом. В нашем примере получается, что правильно были измерены только третий, четвёртый, пятый, седьмой и десятый фотоны, и именно их надо оставить, а неправильно измеренные фотоны выкинуть. И тогда получается двоичное число 10010, одинаковое и у отправителя, и у получателя. Это число и есть секретный ключ, который после передачи можно использовать для шифрования информации при помощи, например, одноразового блокнота.

Всё это было понятно. Папа попросил нас с Катей передать друг другу несколько последовательностей битов, записывая их на клочках бумаги, и мы немного потренировались. Проблем не возникало, мы получали одинаковые последовательности после вычёркивания неправильно измеренных битов. Тогда Катя спросила:

— Но всё равно непонятно, зачем четыре разных фотона? Ведь мы всё равно передаём биты.

Папа кивнул и сказал:

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

Вроде бы интуитивно это было понятно, но всё равно надо проверить. Я попросил папу привести нам пример. Тогда он вновь нарисовал предыдущую таблицу, но добавил к ней три новые строки:

Второй участник переписки получает последовательность фотонов: |/\||/\ — \\. Он опять не знает, в какой поляризации их измерять, а потому измеряет случайным образом. На самом деле опять можно использовать только один прибор для измерения. Пусть, как и в прошлый раз, получатель измерил все фотоны вертикально-горизонтальным прибором. Он прочитает что-то типа такого: |—|||—|—. Это соответствует последовательности битов 0110001101. А передана была 0110011100. Как и в прошлый раз, получатель обращается к отправителю по открытому каналу и узнаёт, какие биты он измерил правильно. Как и в прошлый раз, правильно он измерил третий, четвёртый, пятый, седьмой и десятый фотоны, а потому остаются только эти биты. На стороне отправителя последовательность выглядит как 10010, а на стороне получателя 10011. Как видно, десятый бит пришёл с ошибкой — и злоумышленнику-перехватчику ещё повезло, что с ошибкой пришёл только один бит, поскольку в среднем ошибочными будет половина битов из оставшихся.

Чтобы проверить, не скомпрометирован ли канал и нет ли посередине зловредного человека, который его прослушивает, отправитель и получатель должны взять не менее половины битов из оставшихся одинаковых и сравнить их. Если хотя бы один бит не совпадает, то был перехват и фотонный канал скомпрометирован. Если все биты совпадают, то скорее всего канал был чистым. Эта вероятность не стопроцентная, однако чем больше битов проверяется, тем она выше, так что вероятность в любом случае можно довести до приемлемого уровня. Например, 99,999 %. Но поскольку биты сравниваются друг с другом по открытому каналу, после сравнения они должны быть отброшены. В итоге остаётся проверенная последовательность, которая и является секретным ключом.

Теперь всё стало понятно. Папа предложил нам проделать что-то вроде лабораторной работы, поскольку установленные нами лазерные пушки реализуют именно тот алгоритм передачи, о котором он нам только что рассказал.

Я взял свою рацию и пошёл в берёзки. Рация должна стать нашим открытым каналом. Папа выдал защитные очки Кате, а сам пошёл в штаб. Мы должны передать секретное послание, а потом рассказать ему про результаты, после чего мы обсудим то, как всё прошло.

Прибор был довольно прост. Как мне объяснил папа, это был прототип, над которым сотрудники его лаборатории трудились весь предыдущий год. Поэтому он обладал минимальным набором функций. На приборной панели была одна кнопка — «Отправить бит». После нажатия на дисплее появлялся один из символов: | — / \, в зависимости от того, какой фотон был отправлен. Прибор сам выбирал и случайный бит, и случайную поляризацию. Моим делом оставалось только тщательно записать все отправленные фотоны.

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

Вот в таких условиях приходилось работать.

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

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

Папа ознакомился с результатами нашего эксперимента и остался доволен. Затем он посоветовал нам проверить вторую часть его рассказа о квантовом протоколе раздачи секретных ключей. Катя вздохнула, поскольку первая часть эксперимента её утомила, однако я сообразил:

— Нам не надо будет проводить весь эксперимент с самого начала. Ведь можно представить, что Катя, которая принимала фотоны, и есть тот самый «человек посередине». Она их не приняла, а перехватила. Теперь надо просто передать то, что она измерила…

Но как передать назад то, что она измерила, если у приборов нет такой функции? Ведь прибор просто передаёт случайно выбранный фотон, а оператор его выбрать не может. Я уже было засомневался, но Катя придумала:

— Ты можешь нажимать на кнопку передачи фотона, пока датчик случайно не передаст именно тот фотон, который нужно. И тогда по рации ты скажешь, что передача состоялась, и мне надо будет записать только последний принятый фотон. Но так нам придётся нажимать кнопки до самого вечера, если не до утра. Ведь кто знает, когда генератору случайных чисел придёт в голову отправить именно тот фотон, который нужно?

Отец с улыбкой посмотрел на нас. Потом он хлопнул в ладоши и воскликнул:

— Это правильно. Так что за дело!

…Когда мы закончили, был уже вечер, и сумерки постепенно спускались. Я не ожидал, что это будет так утомительно. Чтобы передать сотню битов, нам пришлось нажимать на кнопку отправки фотона раз пятьсот, хотя папа говорил, что в худшем случае мы нажмём ее четыреста раз, а в среднем — всего-то от двухсот до двухсот пятидесяти. Потом он сказал, что нам просто не повезло.

Зато мы экспериментально проверили — после перехвата верными оказались всего лишь 28 битов, остальные оказались неправильными. Так что если бы мы проверили хотя бы 5 случайных битов из полученных 53, то с большой вероятностью обнаружили бы «прослушку». А проверив 10 битов, мы бы практически стопроцентно точно знали, есть прослушка или её нет. Так что день прошел не зря — мы узнали отличный метод. По словам отца, на сегодняшний день это лучший способ секретного обмена ключами по каналу, который можно прослушать, но фундаментальные законы физики не дадут сделать это незаметно.

Из дневника Кирилла:

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

Глава 13

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

Катя уже была готова к новым занятиям. Но отец сказал, что вчера мы очень много сделали, так что сегодня он нужно дать передышку нашим натруженным мозгам. Отец отлично помнил, как Катя сетовала на то, что чернила есть, а бумаги нет. И поэтому он решил нам показать, как делать бумагу.

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

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

Потом и в третий раз мы проделали все это, и газетная краска практически вся вышла из бумаги. В остывающее варево отец добавил растолчённый мел и белый клей ПВА. Эти вещи он достал откуда-то из-за нашей скамейки, так что я понял, что он их заранее заготовил.

Эту смесь отец тщательно перемешал, а потом начал выкладывать на два больших противня. Надо сказать, что он взял их у тёти Кати. Она долго сопротивлялась, но отец настаивал. Она в конце концов сдалась, но сказала, что не потерпит, если с ними что-либо случится. Отец посмеялся и пообещал ей новые противни, а тётя Катя твердила, что её старые противни лучше всего, и если отец придумал какое-то хулиганство и пустоту, то пусть сам покупает себе новые.

Я засомневался, что мы потом сможем отслоить бумажные листы от металла, ведь они прилипнут намертво. Но отец сказал, что клей ПВА не пристаёт к лаковой краске, которой были покрыты противни. Мы равномерно распределили бумагу по поверхностям, а потом один противень положили на другой и прижали. В таком состоянии мы оставили их на пару часов, а потом папа поменял два противня местами и прижал подсыхающую массу на верхнем противне.

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

Потом отец взял одно из заточенных гусиных перьев и обрывок бумаги, который остался после обрезки листов, обмакнул перо в чернила и тут же уронил каплю. Она расплылась по бумаге, впитываясь в пористую бумагу. Отец воскликнул:

— Ох, какой я неловкий! Никогда раньше не писал гусиными перьями и самодельными чернилами по самодельной бумаге. В общем, вот вам новая забава. Можете написать какую-нибудь рукопись. Заодно вы теперь умеете делать бумагу и чернила.

Но Катя резонно возразила:

— Но мы же сделали бумагу из бумаги. Разве это честно?

— Какая же ты хитрая. Действительно, надо придумать что-то более интересное. В общем, вы пока играйте в эти поделки, а я подумаю.

Вечером мы поехали на Гаретое и на плоту доплыли до зарослей тростника. Там отец нарезал длинные стебли тростника с метёлками на верхушке. Когда мы вернулись, отец сложил их в амбаре и сказал, что завтра придётся снова съездить в магазин за кое-какими химикатами, поскольку делать бумагу из тростника не так просто, как из макулатуры.

Но на следующий день мы никуда не поехали…

* * *

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

— Хозяин, выходи. Разговор есть.

В тишине я услышал щёлканье ствольной коробки папиного ружья. Потом раздался его командирский голос:

— Добрые люди по ночам на разговор не приходят.

Сильнейший удар сотряс дверь, и человек снаружи закричал:

— Выходи, тебе говорят. А то хуже будет!

Открылась дверь в мою комнату, и отец жестами попросил подкрасться к нему так, чтобы меня не было видно из окна. Я должен был повернуть к нему компьютер и включить программу видеонаблюдения, пока он следил за дверью, держа оружие наизготовку. Запуск программы занял некоторое время, а отец пока заговаривал зубы непрошеным гостям:

— Дай портки-то надеть. И хорош стучать. Поди-ка дверь не ставил, так не ломай.

К моему удивлению, отец перешёл на местный диалект. У него даже появился какой-то своеобразный акцент. Странно.

Тем временем программа запустилась, и отец, не выпуская ружья, быстро прокрутил все данные с видеокамер, которые следили за пространством вокруг нашего штаба. Было видно очень плохо, но по смутным теням можно было понять, что около двери стоит один человек, а за стеной ещё двое или трое. Возможно, с другой стороны тоже были враги.

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

Но отец не выглядел озабоченным. Он включил фонарь и установил его напротив двери. Мне он показал, чтобы я открыл дверь по его сигналу. Между тем наружная дверь опять вздрогнула от удара. Отец воскликнул:

— Да иду уже!

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

— Все на землю! Кто шевельнётся, получит следующую пулю!

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

В общем, ночка выдалась на славу. Отец надавал пинков двум оставшимся мужикам, попытался что-то у них выяснить, а я почему-то вдруг задрожал всем телом. Меня колотило, как на морозе, я залез под одеяло, свернулся калачиком, но всё равно не мог согреться. Так и лежал, а руки и ноги у меня тряслись мелкой дрожью. Отец вернулся только через полчаса, а я так и лежал, и у меня стучали зубы. Он внимательно посмотрел на меня, пощупал мне лоб и сказал:

— Да, дружище. У тебя, похоже, адреналиновый криз. Нельзя же нервничать.

Он взял меня на руки и перенёс в дом, потом сходил в штаб, закрыл его и вернулся ко мне. К этому времени я немного успокоился, руки и ноги перестали дрожать, но мне все еще было жутко холодно.

Отец заварил чай, по избе разошёлся душистый аромат мяты. Когда я выпил чашку, то почувствовал себя лучше. Тепло разлилось по телу, я расслабился. Полежав немного, я спросил:

— Что это было?

— Полагаю, что нападение.

— Но почему?

— Я пытался это выяснить, но те двое были ещё больше испуганы, чем ты.

— Я не испугался. Я сам не знаю, что со мной случилось.

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

— Они вернутся?

— Думаю, что да. Теперь они придут мстить, ведь я унизил их.

— И что будем делать?

— Я уже принял меры. Но мы должны остаться, пока не найдём то, что закопано в Муханских оврагах. Пока вы с Катей занимались бумагой и чернилами, я проводил кое-какие изыскания. Планировал с утра снова ехать, но видишь, какая штука…

* * *

Я проснулся от громких воплей, автомобильных гудков, шума двигателей. Я спросонья даже не понял, где нахожусь, потому что не помнил, как уснул — мятный чай сморил меня. И теперь я долго вспоминал, что сплю в большом доме, а не в штабе.

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

На лужайке напротив нашего дома стояли два больших джипа с включёнными фарами, вокруг них бегали две маленькие девочки, а папа разговаривал с какими-то мужчинами. Я присмотрелся и понял, что один из них — дядя Руслан, у которого мы гостили перед тем, как приехать сюда. Второй, похоже, был дядя Игорь, его младший брат. Ну а девчонки и женщина — это Вика, Валя и их матушка, тётя Надя. Приехала вся семья папиного брата. Насколько я понял, именно это он и имел в виду, когда сказал, что принял определённые меры.

Вскоре они зашли в дом. К этому времени я уже собрался и встретил сестёр как подобает. Они опять стали виться вокруг меня, как будто в них были встроены маленькие моторчики. Тётя Надя что-то пробурчала под нос, а потом вовсе ушла в дальнюю комнату, чтобы устроить ночлег для своей семьи. Через полчаса она позвала Вику и Валю и закрыла дверь — девочкам надо было отдохнуть после бессонной ночи.

Я спать уже не хотел. Дядьки тоже ещё сидели за столом, отец объяснял им ситуацию и время от времени восклицал:

— Девчонок-то зачем привезли?

Но дядя Руслан отвечал:

— Ну а что такое? Всё равно в отпуск собирались. Значит, тут его и проведём.

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

Родители Кати тоже решили остаться на неделю и забрали дочь в свой дом. Тётя Катя, привыкшая к гостье, долго не могла отпустить её и всё просила, чтобы та заходила к ней каждый день.

Весь день мы показывали дяде Руслану и всем, кого он привёз с собой, село и его окрестности. Начали с нашего участка. Мы обошли все наши владения, от заросшего дальнего огорода около ручья до берёзок. Дядя Руслан одобрительно отзывался обо всём нашем хозяйстве. Вика с Валей сразу же залезали всюду, где мы проходили, поэтому их приходилось натурально доставать из амбара, из погреба, из нашего штаба, из риги. Общую похвалу заслужили тир и домик на дереве. Дядя Руслан сказал отцу:

— Я смотрю, ты прямо в детство впадаешь. Снова делаешь то, что у нас было в отрочестве.

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

Дядя Игорь ушёл назад к дому и через десять минут вернулся на своём внедорожнике. Мы все набились внутрь и поехали на обзорную экскурсию по окрестностям.

Мы объехали всю деревню, посмотрели на каждый пруд. В Трунёнковом пруду мы даже искупались, а потом повалялись на мягкой траве на берегу. Потом мы добрались до Гаретого, и там папа демонстрировал плот. Наконец мы попали в то самое место, где три недели назад безуспешно искали клад. Папа попросил остановиться, и мы все вышли.

— Это где-то здесь. Карта и план очень плохого качества, так что мы сделали поправки на неточность. Но всё равно ничего не нашли.

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

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

Мы ещё покатались по окрестностям, заехали в берёзовую рощу с другой стороны Гаретого и насобирали там сыроежек. Попалось и несколько белых и подосиновиков, так что ужинали мы грибами. Тётя Надя была довольна — она давно хотела попробовать настоящих лесных грибов.

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

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

Тем временем примус уже раскочегарился, отец поставил на него большую кастрюлю и вылил в нее средство для прочистки водопроводных труб. Я прочитал на упаковке: «Едкий натр». Отец сказал:

— Это щёлочь. Мы будем варить тростник в щёлочи несколько часов. Запах будет удушающий, поэтому все уходим подальше.

Он набросал в жидкость весь нарезанный тростник, и мы ушли. Только папа время от времени подходил к примусу и добавлял воды, чтобы не выкипело.

Через несколько часов мы вернулись. Запаха уже почти не чувствовалось, а в кастрюле была какая-то кашица. В доме папа сварил крахмал и теперь вылил его в кастрюлю. Эту смесь он хорошенько перемешал палочкой, а потом вылил всё в сито. Отцеженную смесь он откинул на заготовленную заранее плотную ткань и распределил ее по половине поверхности ткани. Оставшейся половиной он накрыл будущую бумагу, и положил всё это между двумя досками, а потом на верхнюю доску положил большой камень — гнёт. Всё это мы оставили на ночь.

Остаток дня прошёл за разговорами.

* * *

На следующий день дядя Руслан и дядя Игорь забрали папин металлоискатель и уехали в леса. Отец остался с нами: он показывал тёте Наде, где что находится, чтобы ей было удобнее хозяйничать. Мы с Катей развлекали маленьких сестёр.

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

Папа спокойно сидел на скамейке под липой. Я подошел к нему и сказал:

— Мне кажется, ты обленился.

— Почему это?

— Ты давно уже не учил нас ничему новому о шифровании. Мог бы уже что-нибудь придумать…

— Мне казалось, что вы устали стрелять из лазера.

— А кроме лазера разве больше ничего нет?

— Дай мне поразмыслить.

— Вот я и говорю, что обленился. Мог бы уже и поразмыслить.

Наконец папа решился. Мы позвали Катю и расположились на своём обычном месте — на полянке около входа в штаб. Валя и Вика были со своей мамой, так что мы вполне могли позаниматься. Отец сказал:

— Что ж, рассмотрим ещё один вопрос. Он будет касаться асимметричного шифрования. Вы можете предположить, что это такое?

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

Мне пришла идея, и я осторожно ее высказал:

— Может быть, симметричное шифрование — это когда обе стороны переписки имеют один и тот же ключ?

— Верно! А асимметричное?

Тут уже в разговор вступила Катя:

— Ну, видимо, когда ключи у сторон разные?

— Да. Но как такое возможно?

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

Папа не стал ждать наших ответов и продолжил:

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

Я уже знал ответ:

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

Отец ответил:

— Всё верно. Ключ для всех называется «открытым», и при помощи него можно только зашифровывать. Расшифровать текст уже не получится. Ключ для расшифровки называется «закрытым», и он должен храниться в секрете. Это можно пояснить при помощи замка и ключа.

Папа быстро нарисовал картинку, на которой были шкафчик, амбарный замок и ключ от него.

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

Он посмотрел на нас и спросил, всё ли понятно. Мы в ответ синхронно кивнули. Тогда он продолжил:

— Давайте подумаем, что может служить таким замком и ключиком в криптографии. Помните, что вся современная криптография основана на математике. Давайте найдём что-то математическое, что позволяет просто запирать замочек, но не позволяет отпирать. Подумайте, дайте поработать своей интуиции…

Но у нас с Катей ничего не получалось. Мы сделали пару предположений, но папа все их отверг. Тогда он продолжил сам:

— Возьмём простые числа. Помните, что это такое? Простым называется число, у которого нет целых делителей, кроме единицы и его самого. Ряд простых чисел начинается так: 2, 3, 5, 7, 11, 13 и так далее. Пока не доказано, что ряд простых чисел бесконечен, но и не опровергнуто. При этом нет формулы, при помощи которой можно было бы получить простое число по его номеру. Другими словами, ряд целых чисел необходимо вычислить и запомнить. Третья проблема — нет и эффективного алгоритма для построения ряда простых чисел. Есть, например, алгоритм под названием «решето Эратосфена». Надо взять бесконечный ряд натуральных чисел, начинающийся с 2, и вычёркнуть все числа, которые делятся на 2. Потом вычеркнуть все числа, которые делятся на 3, потом на 5, потом на 7 и так далее до бесконечности. Как вы понимаете, для бесконечности этот алгоритм не вполне эффективен. Но если нужно найти все простые числа, не превышающие заданного, то этот алгоритм работает довольно быстро. Особенно если использовать эффективные критерии делимости.

Мы с Катей переглянулись, так как было всё ещё неясно, при чем тут принципы асимметричного шифрования. Я сказал:

— Всё это хорошо и понятно. Расскажи нам про асимметричное шифрование.

Отец тяжело вздохнул и начал с другой стороны:

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

Эта задача была мне известна, поэтому я сказал:

— Нет, это очень сложная задача. Теперь я понял — ты говоришь про разложение числа на простые множители. В общем виде эта задача не имеет эффективного решения.

Катя с подозрением посмотрела на меня, а отец продолжил:

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

Я задумался, а Катя ответила сразу же:

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

— Почему?

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

Отец сказал, что Катя полностью права. Затем он продолжил свои объяснения:

— На самом деле не всё так просто. В качестве открытых и закрытых ключей в алгоритме, про который я хочу вам рассказать, используются иные значения. Но они вычисляются на основе пары простых чисел. Давайте посмотрим…

Отец взял чистый лист бумаги и начал рисовать на нём алгоритм, поясняя его словами:

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

Он записал на листке: 5 и 7. Затем он продолжил:

— Вторым шагом мы вычисляем произведение двух выбранных чисел. В нашем случае это будет 35. Но одновременно нужно дополнительно вычислить число, равное произведению двух выбранных чисел, из которых вычли по единице, то есть в нашем случае 4 и 6. Это будет 24, и оно является значением функции Эйлера для числа 35. Запомните это название. Возможно, в будущем оно вам понадобится.

Отец записал на листке: 5 Ч 7 = 35 и 4 Ч 6 = 24. Потом он продолжил:

— Третьим шагом мы должны выбрать так называемую открытую экспоненту. Это показатель степени, в которую будет возводиться сообщение при шифровании. Эта открытая экспонента должна быть взаимно простой с числом 24. Обычно выбирают какое-нибудь небольшое простое число, и есть специальные правила выбора, в которые мы углубляться не будем. Сейчас мы возьмём число 17. После выбора открытой экспоненты выполняется важный шаг — вычисление секретной экспоненты. Она вычисляется как обратная к открытой экспоненте по модулю 24. Другими словами, надо найти такое число, которое при умножении на 17 давало бы по модулю 24 значение 1. Это непростая задача. Помните ещё модульную арифметику?

Мы с Катей кивнули. Отец что-то посчитал на своём смартфоне и записал: e = 17, d = 41. Я спросил:

— Как тебе удалось так быстро найти обратное число?

— На самом деле я заранее подготовился, а сейчас просто проверил. Я же брал время для того, чтобы поразмыслить. Итак, продолжим. У нас получилось множество чисел, но использовать мы будем только три. В качестве открытого ключа используется пара (17, 35), а в качестве закрытого — пара (41, 35). Как видите, все не так, как рассказала Катерина. Но давайте посмотрим, почему этот способ тоже работает.

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

— Двадцать пять.

Отец продолжил писать на листке и комментировать:

— Хорошо. Для того чтобы зашифровать сообщение, мы должны возвести его в степень открытой экспоненты по модулю произведения двух простых чисел. В нашем случае мы должны взять число 25 и возвести его в степень 17 по модулю 35. Что получается? Так… Получается 30. Вот теперь это число 30 и есть наша шифровка. Как её расшифровать, кто-нибудь может предположить?

Мы с Катей только пожали плечами, а потому отец продолжил:

— Надо воспользоваться закрытым ключом. Шифровку надо возвести в степень закрытой экспоненты по тому же самому модулю. В нашем простом примере получается, что надо число 30 возвести в степень 41 по модулю 35. Получается… получается 25, как ни странно. Впрочем, почему должно быть странно? Ведь это методы шифрования и расшифровки.

Вроде бы всё было понятно. Мы с Катей некоторое время смотрели на написанные выкладки, а отец рисовал диаграмму алгоритма взаимодействия при шифровании этим методом. Теперь было ещё понятнее:

Ближе к вечеру вернулись мои дядьки. Дядя Руслан сразу же протянул нам пакет. Сердце у меня ёкнуло — мне показалось, что они нашли клад. Но, раскрыв пакет, я увидел только горсть всякого металлического добра. Дядя Руслан улыбнулся:

— Вот что удалось найти. Можете разобрать и взять себе, что найдёте интересным.

Мы с Катей накинулись на содержимое пакета. Оказалось, что дядя Руслан с дядей Игорем не только осматривали окрестности и пытались сопоставить план с местностью, но и прошлись с нашим металлоискателем по полям и тропинкам. Перед нашими глазами лежали: несколько болтов, какой-то крюк, дробинки и несколько монет. Я принёс чистую тряпочку, и мы тщательно, но осторожно оттерли с монет землю и грязь.

Насколько я мог судить, среди монет не было ни одной ценной: несколько советских монеток, а также одна дореволюционная — большая медная с надписью «1 копѣйка серебромъ». Мы с Катей не знали, как поступить, и я показал эту находку папе. Он сказал, что особой ценности эта монета не имеет, и я подарил её Кате на память.

Глава 14

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

Пока все новые гости знакомились с хозяйкой и рассказывали, кто они такие и кем приходятся моему отцу, тот повёл нас с Катей на задний двор, где на верёвках до сих пор сушилась рыба. Отец сказал, что уже прошло две недели, так что можно снимать и пробовать. Мы помогли ему снять всю рыбу, и её оказалось очень много. С довольным видом мы принесли таз с рыбой на скамейку перед всеми. Дядя Руслан и дядя Игорь молча в изумлении смотрели на нас. Отец воскликнул:

— Чего стоите? Берите и пробуйте. Сам ловил и сушил.

Мы попробовали. Отец показал, как чистить рыбу, и я принялся за работу. Вкуснее всего оказались хребет и хвост. Отец же сказал, что вкуснее всего икра, которая иногда кому-нибудь попадалась. Попалась она и мне, но завязла в зубах, и я не понял, что в этом вкусного.

Под конец этого странного завтрака дядя Игорь сказал:

— Ты должен показать нам, где ловить такую замечательную рыбу!

Но тут я ответил:

— А вы должны научить меня искать в земле древние клады при помощи металлоискателя.

Все на полянке рассмеялись. Дядя Руслан сказал:

— Хорошо. Давай сегодня перед обедом я покажу тебе, как пользоваться прибором. Отец-то у тебя хоть и приобрёл его, но не тренировался, а тут дело в постоянной тренировке. Так что я научу тебя, а ты потом будешь иногда выезжать на поиски.

* * *

Вечером того же дня папа с дядей Игорем уехали на болото ловить рыбу, а все, кто остался, вышли на задний огород с металлоискателем. Дядя Руслан присоединил к нему мощные наушники, полностью закрывающие уши. Он дал металлоискатель мне в руки, надел наушники и включил его. Катя шла за нами вместе с лопатой. Вика и Валя, как всегда, крутились поблизости, играли и шумели. Дядя Руслан прикрикнул на них, а мне сказал:

— Медленно води металлоискателем из стороны в сторону, как будто бы косишь. Слушай внимательно. Как только услышишь писк, пытайся локализовать место как можно точнее. Давай попробуем.

Я вышел в траву, но дядя Руслан остановил меня:

— Нет, нет. Что ты забыл в траве? Ну подумай, монеты и другие штуки обычно выпадают из людей. А где ходят люди? По тропинкам. Поэтому иди по тропинке и забирай от неё по сторонам примерно по метру в ширину.

Я начал действовать, а дядя Руслан тем временем продолжил:

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

Технология действительно оказалась простой. И дело пошло.

Вдруг металлоискатель запищал очень чётко и громко. Я остановился и стал искать место, где он пищал сильное всего. Это оказалось довольно просто — надо было водить его крест-накрест в той области, где раздавался писк. Я установил, где лежит что-то металлическое, с достаточной точностью — это было посередине круга металлоискателя. Катя хотела воткнуть туда лопату, но дядя Руслан остановил её. Он опустился на колени и руками начал раздвигать в этом месте траву. Он объяснил:

— Пищащий кусочек металла может лежать прямо на земле, поэтому в первую очередь надо тщательно изучить поверхность. Давайте посмотрим.

Я отложил металлоискатель, и мы с Катей опустились на землю и начали смотреть. Но дядя Руслан уже нашёл — в траве лежала блестящая белая монетка. Это была современная пятирублевая монета. Дядя Руслан заявил:

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

Мы пошли дальше и через пару метров выкопали из земли какую-то ржавую железяку. Никто из нас не смог понять, что это, и дядя Руслан отложил её. Вскоре мы дошли до риги, где у нас был тир. Я для проверки посмотрел, как будет реагировать металлоискатель на свинцовые пульки, рассыпанные на земле. Хотя у нас и был пулеулавливатель, и мы всегда собирали те пульки, которые упали на землю, наверняка мы много пропускали. И действительно — металлоискатель как будто взбесился. Он завывал и пищал. Дядя Руслан сказал, что это основная проблема загрязнённых мест — в них невозможно найти что-либо, потому что всё пищит. Но и в таких местах могут быть интересные находки. А ещё он сказал, что существуют профессиональные дифференцирующие металлоискатели, которые определяют металл, и их можно настроить, например, только на золото. Но у нас был не такой.

Тем временем мы дошли до берёзок и ничего интересного не нашли. Я был немного разочарован, но дядя Руслан заявил, что мы неплохо поработали. Он сказал:

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

Я хотел было уже вернуться к штабу, но Катя предложила:

— Давайте поищем у дороги вдоль села. Только можно я тоже попробую?

Мы вышли на дорогу, я передал Кате металлоискатель, и она начала водить им из стороны в сторону, как это делал я. Мы с дядей Русланом смотрели на неё, и мне всё это занятие уже наскучило. Но тут она остановилась и стала локализовывать писк. Потом позвала нас, и я подбежал с лопатой наготове.

Мы практически сразу же выкопали источник звука — это была большая и ржавая гайка. Дядя Руслан засмеялся, взял её и немного почистил. Потом протянул Кате и сказал:

— Это тебе сувенир. Отмой в масле и потом в бензине, повесь на шнурок. Сама из земли как клад выкопала.

Катя засмеялась и убрала гайку в карман.

Уже почти ночью вернулись отец и дядя Игорь. Они привезли столько рыбы, сколько я ещё не видывал. Похоже, они выловили всё болото. Дядя Игорь улыбался широчайшей улыбкой, а отец подшучивал, что теперь ему спать нельзя, а надо рыбу от котов сторожить. Но, в самом деле, с рыбой надо было управляться, пока она не испортилась, иначе весь улов пришлось бы выкинуть. Папа налил в большой чан воды и выпустил её всю туда. Через пять минут он вытащил несколько всплывших пузом вверх рыбин и отдал их набежавшим котам, а остальных оставил до утра.

* * *

На следующее утро я наблюдал, как тётя Надя прогоняла дочек от чана с рыбой, а те хотели устроить рыбную ловлю на удочки. Дядя Руслан собирался снова ехать в Муханские овраги, а дядя Игорь ворчал, что его заставляют чистить всю рыбу. Но все были неумолимы — он просил, он наловил, теперь надо готовить. Так что именно дяде Игорю досталась эта обязанность.

Отец сидел на скамейке и грелся на утреннем солнышке. Я подошёл и спросил:

— Скажи, пап, а что стало с теми людьми, которые напали на нас ночью?

Отец, не открывая глаз, ответил:

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

— Что будем делать?

— Да ничего особенного. Вряд ли кто-то сунется, пока нас тут много. Плохо то, что, когда уедем, могут отомстить, отыгравшись на имуществе. И ничего не поможет. Ну ладно, тут уже ничего не поделаешь. Не переезжать же сюда жить.

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

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

Катя ответила:

— Мне кажется, мы уже говорили на эту тему: похоже, у нас просто нет достаточно эффективных методов разложения числа на простые множители.

— Да, верно. А теперь представьте, что у нас вдруг появится средство для быстрого разложения на простые множители произвольно большого числа. Например, чтобы сегодня найти простые множители числа с двумя тысячами цифр, требуется несколько лет работы сети из сотни компьютеров. Но вдруг появится средство, которое будет давать тот же самый результат за пару минут. Что произойдёт?

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

Отец смотрел на нас, но ничего не говорил. А мы, откровенно говоря, не знали, что сказать в ответ. Через минут пять отец решил нам помочь:

— Ну что нужно для расшифровки?

Я ответил сразу же:

— Закрытая экспонента.

— А как она вычисляется?

Хм-м. Это обратный элемент для открытой экспоненты по модулю, равному функции Эйлера для произведения двух простых чисел. Я сказал:

— Нам надо уметь вычислять обратный элемент.

Но отец парировал:

— Это очень просто. Это несложная задача. Её можно решить хотя бы перебором. Подумайте. Ты уже сказал про функцию Эйлера. Для чего она нужна?

— Это модуль, по которому делаются вычисления.

И тут Катя воскликнула:

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

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

Я спросил:

— Погоди-ка. Если ты говоришь, что есть метод быстрого взлома этого алгоритма RSA, но при этом на нем основана вся криптозащита в мире, то не собираешься ли ты нам рассказать страшную тайну, за которую могут и чикнуть?

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

Отец немного поразмыслил, а потом сказал:

— Итак, давайте с самого начала. Кто мне скажет, как при помощи двух простых множителей взломать шифрограмму RSA?

Я, не дожидаясь разрешения, выпалил:

— Надо от каждого простого числа отнять единицу, а результаты перемножить. Это получится значение функции Эйлера. Оно берётся в качестве модуля, по которому надо найти обратный элемент для открытой экспоненты. Этот обратный элемент и будет закрытой экспонентой. Зная её, мы сможем расшифровать сообщение.

Отец похвалил меня, а потом обратился к Кате:

— Катерина, скажи теперь ты, что такое «обратный элемент»?

— Это такое число, которое, если его перемножить с заданным, даст единицу по некоторому модулю.

— Отлично! Никак не думал, что вы сможете так просто оперировать математическими понятиями, которые изучаются на специальных курсах абстрактной алгебры. Теперь давайте поговорим о новой математической модели, про которую я обещал вам рассказать. Она называется «квантовые вычисления».

Я даже выдохнул от таких известий. Дело в том, что я точно знал: в научной лаборатории у отца уже сейчас проходит испытания прототип квантового компьютера. При его разработке использовались те же самые технологии, которые он применял ко мне для создания искусственной памяти. Неужели теперь он посвятит меня в тайну этих методов?

Вместе с тем отец продолжал:

— Вы хорошо знаете, что в информатике и теории информации используется понятие «бит». Это единица количества информации, и один бит представляет собой количество актов выбора между двумя альтернативами. Если у нас есть два различных предмета, то для того, чтобы выбрать между ними, требуется один бит. Если есть четыре предмета, то для выбора одного требуется два бита. Для восьми предметов требуется три бита. Ну и так далее, вы уже должны это прекрасно понимать. Традиционно для представления битов используются две цифры — 0 и 1. Так и выглядит альтернатива между двумя предметами: 0 или 1. Если у нас четыре предмета, то требуется два бита, которые дают четыре варианта: 00, 01, 10 и 11. Вспомнили?

Мы с Катей дружно кивнули. Отец улыбнулся и продолжил лекцию:

— А теперь представьте, что мы оперируем не чёткими битами, а некоторой их нечёткой комбинацией. В физике это называется «суперпозицией», но мне не очень нравится это слово, так как оно не отражает сущности. Возьмём один бит. В обычной математике он может принимать значение 0 или 1, да? А в квантовых вычислениях один бит может принимать бесконечное количество значений, каждое из которых равно сумме значений 0 и 1 с некоторыми коэффициентами, причём сами коэффициенты являются комплексными числами, а сумма их квадратов должна равняться 1. Понятно? Конечно же, непонятно.

Мы с Катей опять кивнули, потом замотали головами, а потом рассмеялись. Отец воздел руки к небу, но потом сосредоточился и сказал:

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

Отец записал формулу:

a | 0 > + b | 1>, a^2 + b^2 = 1

— Так понятно?

Мы с Катей опять синхронно покачали головами. Я не выдержал и сказал:

— Ну послушай. Мне кажется, что ты хочешь объяснить что-то слишком сложное. Ты можешь рассказать самыми простыми словами, как можно взломать шифр? Не важно, какие там формулы. Главное для нас сейчас — понять, как это может быть.

Отец тяжело вздохнул. Потом подумал и сказал:

— Ну ладно. Это действительно высшая математика, и если вдаваться в тонкости, то мы просидим здесь неделю, а то и больше. Я просто расскажу вам, как квантовые компьютеры решают задачи и как этот способ решения можно применить для взлома метода RSA.

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

Другими словами, если взять атом и представить его в качестве кубита, то он будет находиться в суперпозиции двух состояний. Если к нему добавить второй атом, то они оба уже будут находиться в суперпозиции четырёх состояний. Три атома находятся в суперпозиции восьми состояний. Десять атомов — в суперпозиции одной тысячи двадцати четырёх состояний. Число состояний в суперпозиции трёхсот атомов больше, чем число атомов и других частиц во всей Вселенной.

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

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

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

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

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

Оказалось, что есть и алгоритм для взлома протокола Диффи — Хеллмана, и это вообще привело меня в уныние — получается, всё то, чему учил нас отец этим летом, можно взломать. Но я вспомнил, как мы проделали эксперимент по передаче информации при помощи квантового протокола, абсолютно стойкого к простым атакам. Так что я вновь приободрился.

* * *

Следующим утром я проснулся из-за голосов отца и дяди Руслана, которые о чём-то спорили около крыльца нашего штаба. Я вышел и накинулся на них:

— Вы очень громко разговариваете!

Отец строго посмотрел на меня и ответил:

— Раз ты проснулся, значит спать тебе уже достаточно.

— Ах так. Тогда я пойду сегодня с дядей Русланом в Муханские овраги, чтобы участвовать в поисках.

Дядя Руслан засмеялся и сказал, что он не против. Но они уже уходят, а я ещё не умылся и не позавтракал. У меня на это десять минут. Пришлось всё делать очень быстро, но я успел.

Через час мы дошли до того места, где искали клад в прошлый раз с папой. Но мы не стали останавливаться и пошли дальше. Дядя Игорь нёс ружьё, дядя Руслан нёс металлоискатель, я нёс сумку с припасами на день. В ней были ещё и всякие медицинские принадлежности, патроны и некоторые инструменты. Я недоумевал, зачем всё это нужно, но дядя Руслан говорил, что лишним это не будет.

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

— Кирилл, почему ты не взял меня?! Ну как так можно?

Я смутился. Ведь я действительно совсем не подумал про Катю и мы так быстро ушли.

— Извини, всё произошло так быстро.

— Но ты мог хотя бы позвонить, сказать, что вы идёте в лес, и я бы догнала вас быстрее. А так мне пришлось возвращаться домой, отпрашиваться у родителей, переодеваться.

Я взял у Кати велосипед и повёл его, а она, отдуваясь, шла рядом и бурчала себе под нос. Но минут через десять она перестала дуться и спросила, куда мы идём. Я только пожал плечами и показал на спины дядек, бодро шагавших впереди.

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

— Что это значит?

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

— Но почему они сохранились?

— Не знаю. Тоже подумал об этом.

— Что будем делать?

— Как что? То же, что и все предыдущие дни. Обследовать это место металлоискателем. Мы уже изучили примерно половину. Осталось примерно столько же. Я считаю: то, что мы ищем, находится здесь. Почему твой отец начал искать это в чистом поле, да ещё много раз перепаханном, ума не приложу. Очевидно же, что там ничего нет, даже если когда-то было.

Слова дяди Руслана приободрили меня. Я попросил металлоискатель, чтобы искать самостоятельно. Катя расположилась в теньке, расстелила скатерть из рюкзака дяди Руслана и начала разливать чай из термоса по кружкам.

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

Так прошло несколько часов. Я уже притомился. Катя собрала обед на скатерти, и мы расселись вокруг. Солнце палило, и очень хорошо, что тут были деревья, в тени которых можно было скрыться от августовской жары. Но и в тени было душно. Даже кусок в рот не лез, и всё как будто бы расплывалось перед глазами.

Я вздохнул, но дядя Руслан сказал:

— Не вешать нос. Сейчас минут пятнадцать отдохнём в теньке, а потом сбегаем на речку.

Катя воскликнула:

— Как? Тут есть речка?

— Да. Метрах в двухстах отсюда. Она холодная и довольно мелкая, но освежиться помогает. Так что не унывайте.

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

В одном месте было что-то вроде пляжа. По крайней мере, можно было подойти к воде по песочку, а не продираться в траве и сухостое. Дядя Руслан сразу же разделся до трусов и залез в воду. Он кряхтел, покрикивал и зазывал нас. Но мы с Катей сомневались — купальных костюмов, мы, конечно же, с собой не взяли.

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

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

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

В лагере всё было так же, как когда мы уходили. Дядя Игорь, по-моему, даже позу не сменил. Когда мы вернулись, он только поворчал, что мы слишком громко кричали на речке.

Дядя Руслан вернулся к поискам. Мы с Катей повалились около нашего импровизированного стола. Но тут, прихрамывая, вернулся дядя Руслан и сказал, чтобы я продолжил поиски, потому что он сам на что-то наступил и повредил ногу. Он сказал, что положил металлоискатель как раз на том месте, где закончил.

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

Я позвал всех. Катя прибежала быстрее всех с лопатой. За ней приковылял дядя Руслан. Дядя Игорь остался, где сидел. Я очертил зону, где надо копать, и отдал металлоискатель Кате, чтобы она контролировала то, что я буду вынимать из земли. Сам же взял лопату и начал аккуратно снимать дёрн. Металлоискатель продолжал показывать, что нечто находится под землёй. Я уже снял и дёрн, и первые сантиметры сырой земли, и тут лопата упёрлась в какой-то твердый предмет. Я даже вскрикнул от неожиданности, а сердце у меня ёкнуло.

Отбросив лопату, я опустился на колени и начал разгребать землю руками. Земля была сухая, но поддавалась. Вскоре обозначился контур находки — это была какая-то металлическая коробка. Я поднажал и вынул её из земли. Она была ржавая, а на крышке можно было разобрать выдавленные буквы: «…КОНФЕКТЪ ЭЙНЕМЪ…». Катя ахнула, дядя Руслан крякнул и пошёл назад. Мы с Катей начисто обтёрли коробку, и я попытался открыть её. Но крышка заржавела и не поддавалась.

Мы услышали, как дядя Руслан говорит по рации:

— Да, приезжай на машине срочно. Похоже, мы что-то нашли.

Отец приехал примерно через час. Мы быстро погрузились и поехали, но не назад, как я подумал, а какими-то кружными дорогами. В общем, после полутора часов блужданий мы въехали в наше село со стороны Альдии. Честно говоря, я недоумевал, к чему такие предосторожности, но дядя Руслан сказал, что лишним не будет.

Отец хотел сразу отвезти Катю домой, но она, конечно, тоже захотела участвовать во вскрытии находки. Так что мы приехали к нам домой, но тётя Надя велела нам обедать. И только после обеда мы собрались около нашего штаба вокруг заветной банки. Это была совершенно ржавая жестяная банка, и просто открыть крышку было невозможно. Пришлось аккуратно разрезать ее ножницами по металлу, которые нашлись в гараже.

И вот банка вскрыта. В ней были тёмные металлические кружки. Отец высыпал их на тряпицу. Мелькнула монетка тусклого жёлтого цвета, и Катя ахнула. Но почти все остальные монеты в нашей находке были крупными и тёмными, почти чёрными. Папа взял одну, внимательно посмотрел и бросил назад. На лице у него появилось недоумение и разочарование. Он собрал несколько жёлтых кружков и сунул в карман, а остальное отдал нам с Катей, чтобы мы отсортировали.

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

Через час мы управились. Я сходил за отцом и пригласил его посмотреть, что у нас получилось. Он захватил с собой братьев, и они все вместе внимательно изучали то, что мы нашли. Потом отец сказал:

— Теперь можно пойти двумя путями. Во-первых, оценить всё это добро по каталогу, а потом разделить примерно на равные по стоимости части между всеми нами. Но это будет долго и муторно. Во-вторых, можно просто поделить всё это добро на четыре части по количеству монет. Но это будет наудачу, поскольку кому-то может достаться монета, которая одна будет стоить больше, чем все остальные, вместе взятые. Но я не знаю, есть ли здесь такие. Зато будет просто — кому что достанется, тот то и получит. Только без обид.

Дядя Игорь воскликнул:

— Какие обиды? Можете вообще делить на три части, меня этот клад не особо волнует. Мне и без кладов неплохо живётся.

Дядя Руслан засмеялся и сказал:

— Мне больше нравится второй вариант.

Так что мы поделили клад на три части — между мной, Катей и дядей Русланом. Сделали просто — кучку каждого типа монет разделили на три и раздали каждому. У меня получилось 127 монет, у Кати столько же, а у дяди Руслана — 125. На том и успокоились.

Я спросил у отца:

— А где же золотые монеты?

— Я их оставил пока у себя. Буду оценивать более тщательно, поскольку каждая из них должна стоить довольно много, и так просто поделить нельзя. Тем более что их всего пять штук.

Из дневника Кирилла:

14 августа. Мы сделали это! Мы нашли клад, который не могли найти многие, кто пробовал до нас. Мы смогли расшифровать тайное послание, а потом нашли спрятанное. Как же приятно. Лето удалось!

* * *

До конца отпуска дяди Руслана и его семейства оставалось восемь дней. В общем, мы как-то расслабились после того, как нашли клад, и теперь бездельничали. Август выдался очень тёплым, дождей не было. Мы каждый день купались и часто ездили на Кермись — ту реку в поле, где мы выкопали клад. Мы ходили в лес за грибами, хотя из-за сухой погоды это были в основном сыроежки. Однажды мы съездили в дремучие леса под Альдией и набрали там несколько корзин прекрасных лисичек. В общем, начался полноценный отдых.

Отец сказал, что он устал от работы и обучения нас с Катей, поэтому первый занялся ничегонеделанием. Впрочем, его хватило только на два дня. Однажды он опять собрал нас с Катей и сказал, что хочет провести последнее занятие по тайным наукам.

Мы расселись, и папа начал:

— Помните, на самом первом нашем занятии я познакомил вас с кодированием букв русского алфавита при помощи двоичного кода? Откройте-ка самые первые свои записи и найдите ту таблицу. Там есть пятибитный код для всех букв, кроме Ё.

Мы открыли свои рабочие блокноты, и я всё вспомнил. Буква А кодируется как 00000, а буква Я — как 11111. Все остальные буквы тоже кодируются как числа в двоичной системе счисления, состоящие из пяти знаков. Отец говорил, что самое главное — использовать именно пять битов, даже если первые представляют собой 0.

Тем временем отец продолжил:

— Итак, вы вспомнили, что каждая буква кодируется при помощи пяти битов. Помните, вы передавали друг другу сообщения по телеграфу? Каждый бит передавался как короткий или длинный звонок. Другими словами, чтобы мы могли отличить два битовых значения друг от друга, нам требуется что-то такое, что имеет два различимых состояния. Так?

Мы с Катей с готовностью кивнули. И тут отец внезапно сменил тему:

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

Катя сказала, вернее, даже спросила:

— При помощи криптографии мы скрываем смысл сообщения, а при помощи стеганографии — само сообщение?

— Да, всё так. Мы как будто бы ничего не передаём, и если кто-то не знает заранее, то он может даже не обратить внимания на то, что мы общаемся. Кто может придумать какой-нибудь стеганографический метод?

Думать совершенно не хотелось, потому что было жарко. Поэтому я покачал головой и стал ждать объяснений. Но Катя продолжила:

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

— Молодец, Катерина! Этот метод так и называется — микроточки. Его часто используют в шпионской деятельности. Ты сама придумала?

— Нет. Как раз читала в одной книге про шпионов.

— Ну хорошо. А если придумать что-нибудь математическое? Я же не зря напомнил вам про пятибитный код.

Тут мне в голову пришла интересная идея. Я даже вскочил:

— Придумал! А что если кодировать биты при помощи разных букв? Ну ты же сам нам говорил, что знаки «0» и «1» выбраны просто для удобства. А на самом деле можно взять два любых различающихся предмета. Так вот пусть такими различающимися предметами будет разный вид букв. Тогда мы напишем какой-нибудь текст для отвода глаз, а его буквами закодируем скрытое сообщение пятибитным кодом. Например, можно использовать обычные и жирные буквы.

Отец воскликнул, что я абсолютно прав и именно этот способ он хотел нам показать.

Поскольку всё сразу стало ясно, мы решили попрактиковаться. Получалось, что текст-обманка должен быть как минимум в пять раз длиннее, чем тот текст, который должен быть скрыт. Мы с Катей начали писать друг другу письма с описанием разных бытовых вещей. Когда это было сделано, мы стали придумывать тайные послания, чтобы скрыть их в обманках. После этого мы закодировали их, выделив некоторые буквы жирным. Получилось что-то такое:

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

Мы с Катей обменялись письмами и быстро раскодировали то, что было скрыто пятибитным кодом. Потом отдали письма отцу. Он взял моё письмо, быстро пробежал по нему глазами, а потом нахмурился. Я спросил, что я сделал не так, и он ответил:

— По сути всё так, ты правильно закодировал скрытое послание. Но по форме ужасно. Ну что ты написал в своём открытом письме? Разве такое можно писать? А если кто-то перехватит, что будет?

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

В общем, это был очень интересный метод. Мы написали ещё по одному письму и скрыли в них важные сообщения. А потом отец сказал:

— А вы знаете, что можно в одном открытом письме скрыть много тайных?

Мы опять переглянулись и пожали плечами. Отец всегда любил и умел удивлять.

— Смотрите. Мы уже определили, что тайные послания можно кодировать при помощи разных свойств символов. Мы выбрали жирное начертание. Но ведь символы могут быть не только простыми и жирными. Они могут быть, например, ещё курсивными, и при этом жирность и курсив не зависят друг от друга. В математике это называется «ортогональными свойствами». Поэтому жирное начертание символа можно использовать для кодирования одного сообщения, а курсивное — для другого. А ещё можно использовать, например, размер букв. Это третье скрытое сообщение. Четвёртое можно кодировать цветом — скажем, чёрные и красные буквы. А пятое, к примеру, тем, что буква написана как обычно или при помощи контура. Итого — пять сообщений скрыто в одном. Только при этом надо очень внимательно подбирать вид букв. Они могут быть одновременно жирные, курсивные, заглавные, цветные и контурные. Красота?

Я сказал:

— Это довольно сложно.

— Подумайте дальше. Я назвал пять способов кодирования. Обратите внимание: пять.

Катя воскликнула:

— Ага! Пять ортогональных свойств могут кодировать один символ скрытого сообщения, поскольку для него требуется пять бит.

— Молодец, Катерина. Ты всё правильно сказала. Давайте попробуем что-то такое закодировать.

Мы принялись за дело, и через час усердного труда у меня получилась вот такая надпись:

Из дневника Кирилла:

18 августа. Интересно всё-таки получается. При помощи математики можно придумывать огромное количество всяких штук. Вот пятибитный код — казалось бы, что сложного? Однако его можно использовать, чтобы прятать в текстах скрытые послания. А что, если использовать не такие явные свойства, как жирность букв, а что-то менее заметное? Ведь если посмотреть на текст, в котором обычные и жирные буквы написаны вперемежку, то сразу ясно, что здесь что-то не то. Надо придумать более тонкий способ. Например, использовать рубленый шрифт и шрифт с засечками. В общем, надо подумать…

Эпилог

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

Я понимал, что мы с Катей вряд ли ещё встретимся, хоть она мне и приходится сестрой. Конечно, мы обменялись контактами и обещали друг другу писать, но вряд ли запала хватит надолго. Так что я решил просто не думать об этом, а сохранить в памяти славно проведённое время этого лета.

Отец ехал молча. Дорога была длинной, и в конце концов я не выдержал и спросил:

— Почему ты такой суровый?

— Я просто задумчивый.

— Что-то случилось?

— Да нет, ничего такого. Просто я думаю, как быть дальше. Мы же не нашли то, что искали.

Я был ошарашен.

— Как не нашли? Мы же выкопали клад и даже разделили его.

— Да. Но ты уверен, что это именно тот клад, о котором речь шла в шифровке?

Об этом я не подумал.

— И ты считаешь, что это другой клад?

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

— И что же делать?

— Вот я и думаю, что…

Content

Роман Душкин
КРИПТОГРАФИЧЕСКИЕ ПРИКЛЮЧЕНИЯ
таинственные шифры и математические задачи

Глава 1

Глава 2

Глава 3

Глава 4

Глава 5

Глава 6

Глава 7

Глава 8

Глава 9

Глава 10

Глава 11

Глава 12

Глава 13

Глава 14

Эпилог