Шифры и квесты: таинственные истории в логических загадках
Шрифт:
Самого деда Трофима не было дома. В этот день он обычно с утра уходил на свои деревенские посиделки с такими же древними людьми, как он сам. Он называл это «пойти в сельсовет», хотя что-то мне подсказывает, что никакого сельского совета здесь давно нет. Но они там решали деревенские дела, и дед Трофим каждую неделю ходил на деревенскую площадь. Видимо, это и можно назвать «советом». Я же пока никуда от дома и своего штаба не уходил. Да и ходить мне здесь было некуда.
Так что я съел с удовольствием земляничный суп, мысленно поблагодарил деда Трофима и вернулся к себе в штаб.
Вернувшись в штаб, я достал ту тетрадь, в которой обнаружил зашифрованное послание, и тщательно перекопировал его на отдельный лист бумаги. Эх, жалко, что у меня нет копировального аппарата. Он бы мне сейчас пригодился. Но раз тут каменный век, будем обходиться без цивилизации.
Затем я взял ещё один лист бумаги в клетку и нарисовал на нём таблицу, которая в точности повторяла использованную для подсчёта частотности букв. В ней было три столбца. В первый столбец я внёс все встреченные в шифрограмме символы. Во второй столбец я намеревался внести количества соответствующих символов. А третий столбец, как и положено, был предназначен для расчёта частот символов в процентах.
Вот, что у меня получилось:
Выделение отдельных букв заняло у меня не более получаса. Впрочем, в глазах после этого мельтешили завитки и кружочки. Тем не менее у меня в руках оказался алфавит шифровки, и я понял, что нескольких букв в этом тексте не хватает. Всего я выделил 28 различных символов. Это немного меня напрягло, поскольку теперь сложно однозначно сказать, на каком языке эта шифровка. Я точно знаю, что папа говорит на английском и на немецком языках, как на родных, но это сейчас. А что было, когда ему было десять лет? Он как-то упоминал, что изучать немецкий язык они начали во втором классе, то есть к моменту написания шифровки он изучал его уже два года. Поэтому не исключаю, что для пущей таинственности он вполне мог использовать немецкий язык, в нём как раз 28 букв. А вот английский вряд ли, поскольку его алфавит состоит всего лишь из 26 букв, да и изучать его папа начал намного позднее.
Надо было что-то придумать, чтобы определить язык шифровки. По крайней мере, сделать какое-нибудь подтверждённое предположение. Я хотел это сделать, чтобы убедиться, что дальнейшая работа имеет смысл, поскольку сам я немецкого языка не знаю. С мыслью о необходимости придумать метод проверки я отправился прогуляться. Я теперь всегда так делал, когда сталкивался со сложной задачей. Прогулка до берёзок чаще всего помогала.
Луг на заднем огороде был великолепен. Я шёл по колено в траве, а кое-где душистые колосья доходили мне и до пояса. Вокруг меня жужжали пчёлы и другие насекомые, а нос щекотали запахи лета. Это расслабляло, и мозг сам находил решение задачи.
Я дошёл до берёзок и немного посидел там. Деревья слабо шумели на ветру. Под ними была мягкая травяная подстилка из полусухих былинок, через которую кое-где пробивались тоненькие зелёные стебельки. На полянке между берёзами росло цветочное разнотравье. Всё вокруг умиротворяло.
И тут как будто бы молния ударила в мою голову. Я понял, что для того, чтобы понять, на русском языке составлена шифровка или нет, необходимо подсчитать частотности букв и сравнить их с теми, которые у меня уже есть. Если они будут похожи хотя бы примерно, то можно сказать, что шифровка, скорее всего, на русском языке. Ведь очевидно, что для других языков частотности будут другие.
Я пошёл назад в свой штаб. Нет, даже побежал, и пока я бежал, в голове крутились разные мысли о том, как же оптимизировать задачу. Добравшись до амбара, я понял, что сравнение частотностей лучше всего делать на графике. Можно построить вторую гистограмму и сравнить два графика. А лучше всего отложить точки на квадратной диаграмме,
Я без промедления сел за подсчёт количеств символов в шифровке и их частотности. Через несколько часов у меня в руках была такая таблица:
Честно говоря, после нескольких часов подсчётов в глазах у меня рябило. Папа сделал весьма замысловатый шифр, хотя смысла в этом никакого не было. Потом я уже подумал, что надо было переобозначить каждый этот замысловатый завиток числом от 1 до 28 и считать именно числа, но хорошая мысль часто приходит после того, как работа сделана. Порадовало меня то, что папа сделал свою шифровку длиной ровно 300 символов, хоть делить было просто. Я делил количество символов на 3 и сразу получал проценты. Эх, папа стремился к совершенству уже в то далёкое время.
На следующий день пошёл дождь, и дед Трофим сказал, что его старые кости ломит от непогоды, поэтому он весь день будет лежать. Я опять был предоставлен сам себе, поэтому засел в амбаре и прямо с утра начал разбираться с новым графиком. Теперь мне было ясно, что это в целом бесполезное упражнение, так как в шифровке маловато символов для нормального подсчёта частотности, но, поскольку я сам придумал метод и был горд за него и немного за себя, я хотел проверить.
И получился у меня новый интересный график. Я сам не ожидал, когда нарисовал его. Собственно, подтвердилась моя идея о том, что отмеченные точки будут лежать на диагонали. Откровенно выбивается из ряда только одна точка. Но я всё же склоняюсь к мысли о том, что в шифровке слишком мало букв. Впрочем, не факт, что немецкий язык не даст похожей картинки. Но для проверки я должен знать немецкий язык хотя бы на самом начальном уровне, а я знаю только алфавит. Эх…
Я был так возбуждён, что отправил папе новую телеграмму:
OCTPOU PAUK COOTBETCTBUR 4ACTOT CUMBOOB U 6YKB PYCCKOO R3bIKA – O4TU PRMAR.
От папы мгновенно пришёл ответ:
OCTAHOBUCb, TbI EAEWb TO, 4TO HE YME|OT CTYEHTbI HA BTOPOM KYPCE UHCTUTYTA!
Ух ты! Да неужели?!
И после этого я начал расшифровку. Самое первое предположение, которое я сделал, было относительно символа в виде спирали. Это самый частый символ в шифровке, а в русском языке самой часто встречающейся буквой является «О». Вот я это и предположил. И на графике, кстати, отмечена точка с указанием пары символа и буквы русского языка. Затем я выписал на отдельный лист шифровку, в которой неизвестные мне символы заменил тонкими подчёркиваниями, а символ спирали заменил на своё первое предположение. Вот что у меня получилось:
Что ж, неплохо. На первый взгляд ничего интересного, но моё внимание привлекло слово «О_О» (в третьей строке шифровки). За него можно зацепиться, поскольку быстрый перебор вариантов для неизвестной буквы дал только две возможности: «ОКО» и «ОНО». Запомним…
Но пока я решил выдвинуть вторую гипотезу и заменить следующий по частоте символ в шифровке на вторую наиболее часто встречающуюся букву в русском языке. Это был символ, похожий на головастика с тремя хвостиками, опущенными вниз, а буква в русском языке по моей таблице была «Е». Я вписал букву «Е» на позиции, которые соответствовали этому символу. Вот что получилось на втором шаге: