Как дешифровать простейшую криптограмму?

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

А однажды решение этой задачи понадобилось мне на практике. Мой компьютер отказывался загружаться, выдавая какое-то сообщение в другой кодировке, так что прочесть можно было лишь слово Windows. Чтобы понять, что происходит, надо было дешифровать сообщение безо всяких подручных средств (компьютер-то был один и он не загружался!). Через 5 минут сообщение было прочитано и компьютер заработал.

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

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

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

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

Чем больше мы раскрываем элементов ключа, тем легче идёт дальнейший процесс дешифровки.

Если в качестве символов выступают буквы алфавита, то код может являться так называемым "Кодом Цезаря". Код Цезаря получается смещением всех букв на определённое количество позиций. Например, вместо А ставится Г, вместо Б - Д и т.д. Концовка замыкается: вместо Э - А, вместо Ю - Б, вместо Я - В. Кстати, при попытке прочтения страницы в Интернете, написанной в кодировке КОИ-8 с настройками браузера Win1251 мы имеем как раз этот случай, правда, количество позиций смещения различно для первой и для второй половины алфавита. Если вы обнаружите, что использован Код Цезаря, значит задача ваша упрощается во много раз! Действительно, вам достаточно дешифровать лишь две буквы, что даст вам величину и направление смещения, а дальше весь ключ раскрывается сам.

Облегчают вашу жизнь и знаки препинания, если они оставлены незашифрованными. Обратите внимание на выделенные запятыми вводные слова, на кавычки (там, наверняка, какое-то название, имя собственное, которое вы можете знать), на дефисы в сочетании с короткими словами ("кое-что", "как-нибудь" и т.п.).

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

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

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

Желаю вам успеха в нелёгком, но безумно интересном деле дешифровки текстов.

Гтждп гбн епвспдп!

Автор: Виктор Губерниев
Источник: ШколаЖизни.ру

Комментариев нет: