Читаем Шифры и квесты полностью

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

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

Когда я прибежал к дому, на крыльце стоял дед Трофим и пристально смотрел в мою сторону. Увидев меня, он воскликнул:

– А, вот и ты! Ты опять опоздал. Давай быстро обедать, а то всё остынет.

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

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

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

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

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

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

У меня получилось найти два повтора. Первый – сочетание «ШМИГ», которое было в тексте три раза. Второе сочетание, которое я нашёл, было «ВЕЖА», оно встречалось дважды. Думаю, что есть ещё много, но эти найти было просто, поскольку сочетания напоминали обычные слова, и их было легко запомнить. Что ж, это неплохо. Посмотрим…

Сочетание «ШМИГ» встретилось в шифровке на 476, 506 и 571 позициях. А сочетание «ВЕЖА» нашлось на 232 и 637 позициях. Я подумал, что для сочетания «ШМИГ» можно использовать все три позиции, чтобы получить три разницы. Вот что вышло:

506 – 476 = 30

571 – 476 = 95

571 – 506 = 65

637 – 232 = 405

Перейти на страницу:

Все книги серии Научные сказки

Похожие книги

Сертификация сложных технических систем
Сертификация сложных технических систем

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

Анатолий Михайлович Шолом , Анатолий Шолом , Владимир Викторович Смирнов , Владимир Смирнов , Иосиф Аронов , Лидия Александровская

Технические науки / Образование и наука