Я быстро поел и стал оформлять свои мысли. Их действительно надо было привести в порядок, чтобы начать использовать тот метод, который подсказали мне дома на улице. Итак, в тексте надо искать повторы. Зачем? Всё дело в том, что есть ключ, который использовался для выбора алфавита замены циклично. А это значит, что иногда в достаточно большом тексте будут происходить такие ситуации, когда ключ будет накладываться на одинаковые буквосочетания в шифруемом тексте. Не секрет, что в русском языке много повторяющихся буквосочетаний. Например, «ОЛО» и «ОРО». Вполне может так случиться, что ключ совместится с ними идентично, и тогда в шифровке должны получиться одинаковые сочетания букв. Их-то и надо искать.
Что это даст? Позиции таких повторов будут указывать на цикличность применения ключа. Другими словами, если взять два повтора и посчитать, на каких местах в шифровке они стоят, то разница между этими местами должна делиться на длину ключа. Если взять несколько разных повторов и посчитать несколько разниц, то для определения длины ключа надо будет просто подсчитать наибольший общий делитель.
Этот метод показался мне безупречным. Единственно смущала возможность получения в качестве наибольшего общего делителя единицы, а ключа длиной в один символ тут быть не может, я уже это доказал. Похоже, что этот метод не совсем математически точен. Впрочем, объяснение может быть простым. Несколько разных буквосочетаний в шифруемом тексте могут наложиться на разные позиции в ключе, а в результате получатся одинаковые последовательности символов в шифрограмме. Это возможно, хотя становится очень неправдоподобным, если выбирать повторы длиннее. Так я понял, что надо искать максимально длинные повторы.
Я взял шифровку и стал смотреть на неё. Повторы виднелись сразу, но они состояли из двух и из трёх букв. Я посчитал это недостаточным. Надо больше. Хорошо, что буквы были печатными и по ширине практически одинаковыми. Это натолкнуло меня на мысль о том, что в листе бумаги можно вырезать окошко шириной в нужное количество букв, после чего двигать его по тексту и смотреть на видимые сквозь него символы. Я решил начать с длины в четыре буквы. Действительно, при помощи вырезанного окошка в листе бумаги было очень удобно отсекать массу ненужной и отвлекающей информации. Но вот сложно было удержать в голове огромное количество четырёхбуквенных сочетаний. Это действительно было очень непросто. Но я не унывал и продолжал двигать окошко. Дед Трофим только изумлённо смотрел на мои упражнения.
У меня получилось найти два повтора. Первый – сочетание «ШМИГ», которое было в тексте три раза. Второе сочетание, которое я нашёл, было «ВЕЖА», оно встречалось дважды. Думаю, что есть ещё много, но эти найти было просто, поскольку сочетания напоминали обычные слова, и их было легко запомнить. Что ж, это неплохо. Посмотрим…
Сочетание «ШМИГ» встретилось в шифровке на 476, 506 и 571 позициях. А сочетание «ВЕЖА» нашлось на 232 и 637 позициях. Я подумал, что для сочетания «ШМИГ» можно использовать все три позиции, чтобы получить три разницы. Вот что вышло:
506 – 476 = 30
571 – 476 = 95
571 – 506 = 65
637 – 232 = 405
Хмм… Это интересно. Сразу видно, что все эти числа делятся на 5 без остатка. Думаю, что длина ключа найдена. Я посмотрел на часы. С момента, когда я начал, прошло примерно два часа. Честно говоря, я уже немного устал, но решил попробовать ещё. Несмотря на физическую усталость и рассеянное внимание из-за поисков повторов, я был захвачен идеей. Надо попробовать. Проверю гипотезу о длине ключа в пять символов ещё одним повтором, и тогда всё. На этот раз я решил вырезать новое окошко длиной пять букв.
Минут двадцать или даже больше я безрезультатно водил по шифровке и наконец нашёл сочетание «ГОПЦК». Оно находилось на 209 и 609 позициях. Очевидно, что разница этих двух чисел делится на 5. Гипотеза была вновь подтверждена. Я снял окошко с текста и снова посмотрел на всю шифровку. И внезапно я увидел, что буквосочетание «ГОПЦКМА» повторяется дважды. То есть я случайно нашёл сочетание из семи букв. Тут уж у меня больше не было сомнений – ключ состоял из пяти символов.
На часах было уже восемь, когда я получил длину ключа. Разум мой ликовал, это было невероятное чувство. Ведь получается то, что я не воспользовался тем методом, который предложил Марку с самого начала, то есть подбором, а разработал что-то новое и более математическое. Это просто великолепно.
На радостях я прошёлся до берёзок и обратно. Свежий вечерний воздух несколько взбодрил меня, и я отдохнул. Но голова всё ещё гудела, поэтому я прогулялся второй раз, а потом и третий. После этого я был готов приступить ко второй части. Теперь нужно было взять всю шифровку и разбить на пятёрки символов, после чего подсчитать количества и найти самые часто встречающиеся буквы. Я решил не считать количества всех букв, а просто зрительно оценить, какие буквы встречаются чаще всего.
Я вернулся на терраску и переписал шифровку в виде длинного столбца шириной в пять символов. Получилось вот что:
Я быстро пробежался по столбцам и собрал наиболее часто встречающиеся буквы. Вышло слово: «ОМЕГА». Отлично, ключ представляет собой слово, хоть и не совсем обычное. Это наводит на мысль о том, что я двигаюсь в правильном направлении. Я перевернул пару страниц в своём рабочем блокноте и посмотрел на таблицу частот символов.
Ха! Все пять букв имели очень большие частоты. На гистограмме они находятся в самом начале списка, среди них втесалась только буква «П», да ещё буква «Т» вылезла в начало. Это ещё больше утвердило меня в том, что я нашёл правильный ключ.
С этой мыслью я пошёл спать. Перед тем как лечь, я написал папе очередную телеграмму:
ΠAΠA, R HAWEΛ KΛ|O4 K WUΦPOBKE.
Ответ пришёл сразу же:
-)TO HE TAK Y>|< U CΛO>|<HO. KAKOU?
Я не стал отвечать, пусть помучается. С этой мыслью я заснул.
На следующее утро меня разбудил Марк. Он ходил по улице около моего дома и голосил:
– Кирилл! Кирилл!
Я оделся и вышел на улицу. Дед Трофим тоже вышел и потрясал своей клюкой. Я крикнул Марку, чтобы он подождал, пока я умоюсь и позавтракаю. Он сел на скамейку под липой и стал что-то изучать в своём смартфоне. Счастливчик. Впрочем, я уже настолько погрузился в свою идею разгадать папины тайны, что перестал думать о своём оставленном дома планшете.
После завтрака я выбежал к Марку со своим рабочим блокнотом. Он всё так же сидел на скамейке и теребил листок бумаги. Я с ходу рассказал о найденном ключе, но на это он ответил, что тоже нашёл, как ему кажется, но не уверен. Тогда я спросил:
– Выкладывай, что у тебя получилось.
Марк показал свой листок бумаги. На нём было написано:
2 буквы: ЕМ
3 буквы: ТММ
4 буквы: ЕМАП
5 букв: ОМЕГА
6 букв: ПФМТТЬ
7 букв: ЕЕОГБОП
8 букв: ЕМАЦТОАХ
Он показал на строку для пяти букв и сказал:
– Вот ключ. Но я точно не знаю, потому что не понимаю, что такое «ОМЕГА». Вернее, слышал и знаю, что есть такое слово, но что это точно, не уверен. Остальные ключи на слова непохожи. Больше восьми я не проверял, потому что устал. Это действительно было очень непросто, я считал столько, сколько до этого дня ещё ни разу не считал.
Я открыл свой блокнот и показал ему страницу с окончательными выводами: «ОМЕГА». Потом сказал:
– Омега – это последняя буква в греческом алфавите.
Он кивнул и спросил:
– Что-то я не вижу у тебя подсчётов. Как ты узнал про это?
Я кратко рассказал, как я дошёл до своего решения. Показал несколько повторов в шифровке и разницу в их позициях. Оказалось, что все разницы делятся на 5. Поэтому резонно было предположить, что длиной ключа является именно пять символов. А выявление самого ключа не составило труда, и было выполнено абсолютно так же, как и самим Марком.
Марк удивлённо смотрел на меня, потом сказал:
– То есть ты ничего не считал?
– Отчего же? Считал. Более того, я себе голову свихнул, пока искал все эти повторы. У тебя-то задача проще была, просто зануднее. Просто сиди и считай, а мне надо было кучу сочетаний букв запоминать и искать их.
– Ну ты хитрец. А почему ты сразу не сказал мне про этот метод?
– Да потому что я его придумал, пока возвращался домой.
– Мог бы позвонить.
Ого! Действительно. А ведь мы до сих пор не обменялись телефонными номерами. Я ответил:
– Ты знаешь мой телефонный номер? Вот и я твоего не знаю. Это надо исправить.
Мы тут же записали номера друг друга в свои телефоны. Я подумал немного и сказал:
– А знаешь… Это и хорошо, что мы использовали два разных метода. Значит, ключ найден правильно.
Марк опять кивнул. Я продолжил: