Глава 5
Дед Трофим приготовил мне на завтрак молочный суп из земляники. Я был огорошен, удивлён и пребывал в восторженном настроении одновременно. Невозможно поверить, что этот почтенный старик на одной ноге смог утром сходить в лес и набрать для меня, своего правнука, земляники. Тем не менее эта ягода была на столе, и это меня очень радовало.
Самого деда Трофима не было дома. В этот день он обычно с утра уходил на свои деревенские посиделки с такими же древними людьми, как он сам. Он называл это «пойти в сельсовет», хотя что-то мне подсказывает, что никакого сельского совета здесь давно нет. Но они там решали деревенские дела, и дед Трофим каждую неделю ходил на деревенскую площадь. Видимо, это и можно назвать «советом». Я же пока никуда от дома и своего штаба не уходил. Да и ходить мне здесь было некуда.
Так что я съел с удовольствием земляничный суп, мысленно поблагодарил деда Трофима и вернулся к себе в штаб. Задача отца не давала мне покоя, и я был готов сидеть над ней, пока она не поддастся. Пошёл уже четвёртый день, как я нашёл зашифрованное послание, а я только-только подготовился к его расшифровке. Это меня напрягало и подстёгивало одновременно. Так что я был готов покончить со всем этим сегодня.
Вернувшись в штаб, я достал ту тетрадь, в которой обнаружил зашифрованное послание, и тщательно перекопировал его на отдельный лист бумаги. Эх, жалко, что у меня нет копировального аппарата. Он бы мне сейчас пригодился. Но раз тут каменный век, будем обходиться без цивилизации.
Затем я взял ещё один лист бумаги в клетку и нарисовал на нём таблицу, которая в точности повторяла использованную для подсчёта частотности букв. В ней было три столбца. В первый столбец я внёс все встреченные в шифрограмме символы. Во второй столбец я намеревался внести количества соответствующих символов. А третий столбец, как и положено, был предназначен для расчёта частот символов в процентах.
Вот, что у меня получилось:
Выделение отдельных букв заняло у меня не более получаса. Впрочем, в глазах после этого мельтешили завитки и кружочки. Тем не менее у меня в руках оказался алфавит шифровки, и я понял, что нескольких букв в этом тексте не хватает. Всего я выделил 28 различных символов. Это немного меня напрягло, поскольку теперь сложно однозначно сказать, на каком языке эта шифровка. Я точно знаю, что папа говорит на английском и на немецком языках, как на родных, но это сейчас. А что было, когда ему было десять лет? Он как-то упоминал, что изучать немецкий язык они начали во втором классе, то есть к моменту написания шифровки он изучал его уже два года. Поэтому не исключаю, что для пущей таинственности он вполне мог использовать немецкий язык, в нём как раз 28 букв. А вот английский вряд ли, поскольку его алфавит состоит всего лишь из 26 букв, да и изучать его папа начал намного позднее.
Надо было что-то придумать, чтобы определить язык шифровки. По крайней мере, сделать какое-нибудь подтверждённое предположение. Я хотел это сделать, чтобы убедиться, что дальнейшая работа имеет смысл, поскольку сам я немецкого языка не знаю. С мыслью о необходимости придумать метод проверки я отправился прогуляться. Я теперь всегда так делал, когда сталкивался со сложной задачей. Прогулка до берёзок чаще всего помогала.
Луг на заднем огороде был великолепен. Я шёл по колено в траве, а кое-где душистые колосья доходили мне и до пояса. Вокруг меня жужжали пчёлы и другие насекомые, а нос щекотали запахи лета. Это расслабляло, и мозг сам находил решение задачи.
Я дошёл до берёзок и немного посидел там. Деревья слабо шумели на ветру. Под ними была мягкая травяная подстилка из полусухих былинок, через которую кое-где пробивались тоненькие зелёные стебельки. На полянке между берёзами росло цветочное разнотравье. Всё вокруг умиротворяло.
И тут как будто бы молния ударила в мою голову. Я понял, что для того, чтобы понять, на русском языке составлена шифровка или нет, необходимо подсчитать частотности букв и сравнить их с теми, которые у меня уже есть. Если они будут похожи хотя бы примерно, то можно сказать, что шифровка, скорее всего, на русском языке. Ведь очевидно, что для других языков частотности будут другие.
Я пошёл назад в свой штаб. Нет, даже побежал, и пока я бежал, в голове крутились разные мысли о том, как же оптимизировать задачу. Добравшись до амбара, я понял, что сравнение частотностей лучше всего делать на графике. Можно построить вторую гистограмму и сравнить два графика. А лучше всего отложить точки на квадратной диаграмме, где каждая точка будет соответствовать одному и тому же столбику гистограммы для двух текстов. Если получившиеся точки будут примерно лежать на диагонали квадрата, то задача решена, и подтверждение русскому языку получено. Это сложно описать, и мне даже не хватало слов, чтобы размышлять об этом способе, но в голове уже крутились образы того, что надо сделать.
Я без промедления сел за подсчёт количеств символов в шифровке и их частотности. Через несколько часов у меня в руках была такая таблица:
Честно говоря, после нескольких часов подсчётов в глазах у меня рябило. Папа сделал весьма замысловатый шифр, хотя смысла в этом никакого не было. Потом я уже подумал, что надо было переобозначить каждый этот замысловатый завиток числом от 1 до 28 и считать именно числа, но хорошая мысль часто приходит после того, как работа сделана. Порадовало меня то, что папа сделал свою шифровку длиной ровно 300 символов, хоть делить было просто. Я делил количество символов на 3 и сразу получал проценты. Эх, папа стремился к совершенству уже в то далёкое время.
На следующий день пошёл дождь, и дед Трофим сказал, что его старые кости ломит от непогоды, поэтому он весь день будет лежать. Я опять был предоставлен сам себе, поэтому засел в амбаре и прямо с утра начал разбираться с новым графиком. Теперь мне было ясно, что это в целом бесполезное упражнение, так как в шифровке маловато символов для нормального подсчёта частотности, но, поскольку я сам придумал метод и был горд за него и немного за себя, я хотел проверить.
И получился у меня новый интересный график. Я сам не ожидал, когда нарисовал его. Собственно, подтвердилась моя идея о том, что отмеченные точки будут лежать на диагонали. Откровенно выбивается из ряда только одна точка. Но я всё же склоняюсь к мысли о том, что в шифровке слишком мало букв. Впрочем, не факт, что немецкий язык не даст похожей картинки. Но для проверки я должен знать немецкий язык хотя бы на самом начальном уровне, а я знаю только алфавит. Эх…
Я был так возбуждён, что отправил папе новую телеграмму:
?OCTPOU? ?PA?UK COOTBETCTBUR 4ACTOT CUMBO?OB U 6YKB PYCCKO?O R3bIKA – ?O4TU ?PRMAR.
От папы мгновенно пришёл ответ:
OCTAHOBUCb, TbI ?E?AEWb TO, 4TO HE YME|OT CTY?EHTbI HA BTOPOM KYPCE UHCTUTYTA!
Ух ты! Да неужели?!
И после этого я начал расшифровку. Самое первое предположение, которое я сделал, было относительно символа в виде спирали. Это самый частый символ в шифровке, а в русском языке самой часто встречающейся буквой является «О». Вот я это и предположил. И на графике, кстати, отмечена точка с указанием пары символа и буквы русского языка. Затем я выписал на отдельный лист шифровку, в которой неизвестные мне символы заменил тонкими подчёркиваниями, а символ спирали заменил на своё первое предположение. Вот что у меня получилось:
Что ж, неплохо. На первый взгляд ничего интересного, но моё внимание привлекло слово «О_О» (в третьей строке шифровки). За него можно зацепиться, поскольку быстрый перебор вариантов для неизвестной буквы дал только две возможности: «ОКО» и «ОНО». Запомним…
Но пока я решил выдвинуть вторую гипотезу и заменить следующий по частоте символ в шифровке на вторую наиболее часто встречающуюся букву в русском языке. Это был символ, похожий на головастика с тремя хвостиками, опущенными вниз, а буква в русском языке по моей таблице была «Е». Я вписал букву «Е» на позиции, которые соответствовали этому символу. Вот что получилось на втором шаге:
К сожалению, это мне ничего не дало. Пришло время попробовать ту гипотезу, которую я выдвинул относительно слова «О_О». Вряд ли папа использовал слово «ОКО», хотя он вполне мог это сделать, поскольку даже в те далёкие времена был вполне экстраординарен и себе на уме. Но попробуем сначала слово «ОНО», так что заменим символ, похожий на букву «Н» этой самой буквой «Н». Вот что получается:
Кое-что уже начинает прорисовываться. Первое слово шифровки что-то напоминает. Эх, был бы сейчас у меня доступ в Интернет или электронный словарь, в котором можно искать слова по образцу, задавая нужные буквы. Я быстро расшифровал бы всё это. А так придётся тратить много времени на подбор. Тем не менее надо использовать то, что есть.
Кстати, я совсем забыл про чемоданчик! Вдруг там что-то припрятано на этот счёт? Я слез на первый этаж и открыл чемодан. Конечно же! Вот и словарь. Так… Это орфографический словарь русского языка. Надо же, совсем старое издание. Ну хоть что-то есть. И это опять только подтверждает то, что папа всё подстроил. Но мысль о том, что он начал подстраивать это много лет назад, когда он даже ещё представить себе не мог моё появление на свет, не давала мне покоя. Как же так?
Хорошо, словарь есть. Но с таким словарём хорошо подбирать слова, первая буква которых известна. Ага! Вот есть такое слово, тем более что оно короткое. Это слово «Н_». Это не могут быть слова «НЕ» или «НО», поскольку буквы «Е» и «О» я уже предположил (надо всегда помнить, что это всего лишь предположения, а не точные факты). Тогда остаются такие варианты: «НА», «НИ» и «НУ». Можно попробовать их все. Хорошо… Четвёртая гипотеза: символ, напоминающий вязальную петельку, представляет букву «А». Подставим её, и вот что получается:
Пока не видно никаких критических ошибок, так что все гипотезы могут считаться верными. Поэтому надо пробовать выдвигать предположения и дальше, пока я не наткнусь на противоречие, и тогда придётся «откатываться» назад. Но может получиться и так, что все новые предположения нельзя будет отвергнуть какими-нибудь получающимися несуразностями, и надо будет двигаться дальше. В конце концов, должен будет получиться расшифрованный текст, если все предположения окажутся верными.
Что ж, а вот и пришло время воспользоваться находкой, то есть орфографическим словарём. Вот самое последнее слово: «О__О_О_НО». Мне кажется, что вариантов должно быть совсем немного (если вообще не один). Что ж, посмотрим… Тщательный поиск по словарю на букву «О» дал два варианта (эх, как я надеялся на один): «ОБМОРОЧНО» и «ОСТОРОЖНО». Конечно, скорее всего, использован второй вариант, но ничего нельзя принимать на веру, всё надо проверять. К счастью, в этих двух словах на одной и той же позиции стоит одинаковая буква «Р», так что относительно неё можно сделать однозначное предположение.
И что же? Папа кажется совершенно неоригинальным. Для шифрования буквы «О» он использует круглую спираль. Для шифрования буквы «Н» он использует значок, похожий на эту букву. И для шифрования буквы «Р» он опять использует значок, похожий на неё. Что-то здесь не то. Но попробуем. Подставлю-ка я новую букву. Вот что получается:
Надо бы уже записывать свои гипотезы, а то я начинаю путаться. Я быстро нарисовал новую таблицу на следующем листе клетчатой бумаги и перенёс в неё все символы из шифровки. Те символы, для которых были выдвинуты гипотезы, я указал в соседних ячейках:
На этом моменте я что-то застопорился, а потому решил опять прогуляться. Но на этот раз я пошёл не к берёзкам, а к ручью. Как раз закончился дождь, и я пошёл посмотреть, что там. Однако идея оказалась плохой – я полностью промок, поэтому пришлось вернуться в свой штаб и переодеться И как будто бы с новой одеждой появились идеи. Я решил испытать два слова, которые можно сделать из последнего слова шифровки, то есть «ОБМОРОЧНО» и «ОСТОРОЖНО». Начать решил со второго, так как оно было мне понятно, значение же первого я представлял себе смутно. И я предположил, что папа в моём возрасте тоже вряд ли мог его использовать. Применение гипотезы дало бы мне сразу три новые буквы, две из которых очень часто встречаются. Из-за них в шифровке могли бы сразу проявиться какие-нибудь новые слова. Однако если этого не произойдёт, можно быстро переключиться на вторую гипотезу, благо их всего две.
Так что я попробовал. Символ, похожий на двойку, я заменил буквой «С». Символ, похожий на стакан в подстаканнике, я поменял на букву «Т». Ну и символ, похожий на знак умножения, я заменил буквой «Ж». Вот что из этого вышло:
Что ж. Это не сильно меня приблизило к разгадке, поскольку новых слов не проявилось. Но кое-что уже узнаваемо. Впрочем, я решил сразу же проверить и вторую гипотезу, так что на отдельном листе переписал всё то же самое, но теперь заменил букву «С» на «Б», букву «Т» на «М», а букву «Ж» на «Ч». Это было проще, так как я пользовался уже полученной на предыдущем шаге расшифровкой. Надо было лишь очень тщательно переписывать. Вот что вышло:
Меня привлекло первое слово. В первом варианте это слово «СЕ_О_Н_», а во втором «БЕ_О_Н_». Поскольку известно начало слов, можно воспользоваться орфографическим словарём, который я достал из чемоданчика. Что ж, мне опять улыбнулась удача. Для обоих вариантов было найдено только по одному слову: «СЕГОДНЯ» и «БЕГОТНЯ». Интуиция мне подсказывала, просто даже кричала, что верен первый вариант, но математический подход требовал проверки обоих.
Очень хорошо то, что в обоих подходящих словах на двух позициях стояли одинаковые буквы, то есть буквы «Г» и «Я». Так что их, независимо от того, какая потом гипотеза будет верной, я уже сразу могу записать в свою таблицу расшифрованных символов. И вот, что получается, если расшифровать первое слово в обоих вариантах.
Вариант 1:
И вариант 2:
Собственно, сравнение этих двух вариантов позволяет отбросить вторую гипотезу и вернуться к первой и единственной, о которой кричала моя интуиция. Дело всё в последовательности «БОБЕТБ___». В русском языке нет слов, которые начинаются с таких букв. А вот последовательность «СОСЕДС___» вполне возможна. Ну и во втором варианте ещё есть несколько несуразностей поменьше. Так что я с облегчением отбросил его, оставив только первый вариант. И, кстати, получается, что все остальные предыдущие гипотезы оказываются верными.
Я обратил внимание на четвёртое слово с конца: «СТЕ__ЯННАЯ». Со всей очевидностью можно сказать, что это слово «СТЕКЛЯННАЯ». Что ж, проверим. Подставляем два новых символа:
В общем-то всё становится понятно. Тут практически уже всё расшифровано, и общий смысл текста виден уже сейчас. Но надо доделать всё до конца. Так что следующим словом, которое легко поддаётся расшифровке, является четвёртое слово «_ОСЛАН_Е». Несмотря на то, что у него нет первой буквы, всё так же можно попробовать подобрать его с орфографическим словарём. Впрочем, сразу видно, что подходит слово «ПОСЛАНИЕ», а других вариантов я в словаре не нашёл. Ещё две буквы, которые к тому же встречаются довольно часто. Подставляем:
Что ж, тут больше нет секретов. Ещё полчаса, и у меня в руках был полностью расшифрованный текст:
СЕГОДНЯ Я ЗАКОПАЛ ПОСЛАНИЕ ДЛЯ СВОИХ ПОТОМКОВ ОНО ПОЛОЖЕНО В БУТЫЛКУ ТЩАТЕЛЬНО ЗАКУПОРЕНО И СПРЯТАНО НА ДНЕ ЯМЫ МЕЖДУ НАШИМ ДОМОМ И СОСЕДСКИМ РОВНО ПОСЕРЕДИНЕ МЕЖДУ УГЛАМИ ДОМОВ НА ГЛУБИНЕ ПОЛМЕТРА ОТПРАВЛЯЮ ЭТО ПОСЛАНИЕ В БУДУЩЕЕ ДЛЯ ТЕХ КТО СМОЖЕТ ЕГО НАЙТИ БУТЫЛКА СТЕКЛЯННАЯ КОПАТЬ НАДО ОСТОРОЖНО
Просто удивительно! Мне удалось это сделать. Я был так горд за себя. Осталось только выписать всю таблицу соответствия символов:
Я выглянул на улицу. Уже вечерело. Сколько же времени я провёл за этим делом? Получается, что весь день. И даже не обедал и не ужинал. Как только я об этом подумал, в животе сразу же заурчало. Но я решил не ходить домой, тем более что дед Трофим наверняка спал. Только набил папе телеграмму:
KO? B3?OMAH.
Ответ пришёл всё так же быстро:
R 3HA?, 4TO TbI HE ?O?BE?EWb. ?O>|<UCb C?ATb.
Я хмыкнул, залез на второй этаж, укутался в одеяло и уснул крепким сном человека, решившего великую проблему.