Правила дешифровки (Пляшущие человечки. Литературное расследование.)

Понедельник, 26 Октября 2009 г. 15:55 + в цитатник

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

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

Сам Шерлок Холмс никакими правилами не пользовался, довольствуясь счастливыми озарениями и внезапными догадками. Так что на его горьком опыте ничему научиться нельзя.

Общий подход к разгадыванию шифров или, как сейчас принято говорить, к "взлому" шифров можно представить из следующих последовательных пунктов:

  1. Знания.
  2. Оценка шифра.
  3. Предварительная работа.
  4. Общие рассуждения.
  5. Дешифровка.

Рассмотрим эти пункты подробнее.

1. ЗНАНИЯ

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

Криптография - это наука на границе между языкознанием и математикой. В заумные дебри мы залезать не будем. В первом приближении, из математики вполне достаточно знать частотные характеристики букв русского языка. Можно пользоваться мнемоническим словом СЕВАНОЛИТР, в котором представлены десять самых частых букв русского языка. Весь русский алфавит по частотным десяткам выглядит так:

 

Частотные десятки
О А Е И Л Н В Т С Р
Д К П У М Ы Я Ь З Г
Б Ж Й Ш Ч Х Ц Ю Щ Ф
Э Ъ Ё              

 

Данная ранжировка производилась по 1787 буквам из повести И. и Б. Стругацких "Град обреченный".

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

Надо знать, что шифры простой замены вполне разрешимы, но при этом есть естественные ограничения по минимуму длины криптограмм:

  • менее 40 знаков - дешифровка сомнительна, поскольку даже самые частые буквы используются всего по несколько раз, а большинство букв по разу. Отсюда и трудность - даже узнав одно слово, нельзя подставить известные буквы в другие слова.
  • 40-60 знаков - шифр представляет трудность, но в общем еще преодолим, особенно если ориентировочно известно, о чем идет речь.
  • 60-120 знаков - шифр в принципе расшифровывается, но придется повозиться.
  • 120 и более знаков - шифр достаточно легко расшифровывается даже на любительском уровне.

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

Надо знать, что хотя в русском алфавите 33 буквы, в текстах, более чем вероятно, встречаются они не все. Так в тексте из 1500 букв может оказаться всего 31 повторяющейся буквы. Чем меньше текст, тем меньше количество повторяющихся букв. Можно ориентироваться на цифру 20-24 (плюс-минус несколько букв).

При подсчете количества оригинальных знаков шифрограммы могут получиться разные цифры. В зависимости от этого и письмо может быть разное. Если их в пределах 33 (для русского языка), то это значит, что каждый пляшущий человечек заменяет одну букву. Если их в пределах 40, то, возможно шифрованию подлежат и знаки препинания. Если знаков 60-80 (в пределах 100), то это может быть слоговое письмо. Если количество оригинальных знаков исчисляется сотнями (соответственно должны быть и тексты такого объема), то это уже иероглифическое письмо или кодовое, где каждый знак может заменять целое слово.

Не окажутся лишними чисто языковые знания.

Прежде всего надо знать русский алфавит от А до Я.

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

Какие могут быть буквы-слова? Их всего несколько: А, В, И, К, О, С, У и Я. При этом А - это противительный союз (смысл второго предложения противопоставляется смыслу первого), который всегда стоит после запятой, В, К, О, С и У - это предлоги, т.е. одинокие знаки между группами знаков, которые потом будут словами, Я - личное местоимение, всегда подлежащее, а значит, должно быть где-то на первых ролях в предложении.

Из двухбуквенных слов часто встречаются НО, ОН, ПО... Из трехбуквенных: ЧТО, КТО, ТОТ, КАК (заметьте две одинаковые буквы в начале и конце слова).

Если в шифрограмме есть знаки препинания, то хорошим подспорьем являются запятые. Возле них всегда "роятся" знакомые союзы. Если после запятой один знак, то это, наверняка, А. Если два знака, то это НО. Если три, то ЧТО, КАК или что-то подобное. Пять знаков может быть ЧТОБЫ, но в нем все буквы разные, поэтому он сам себя не определяет. Хорошо распознается после запятой длинное слово КОТОРЫЙ (с разными окончаниями) по чередованию гласной О - получается сразу четыре буквы.

Так же около запятой можно "охотиться" не только за тем, что после нее, но и перед ней. Например, такие словосочетания ...ТАК, КАК... (две повторяющиеся А и три повторяющиеся К), ...ТАК, ЧТО... (две повторяющиеся Т), ...ПОТОМУ, ЧТО... (три повторяющиеся О и две повторяющиеся Т).

Если слово в запятых с обоих сторон, то это какое-то вводное слово.

В русских словах часто встречаются двойные буквы. Самые частые -НН- особенно в окончаниях, значит ближе к концу слов. Так же часто бывает -СС- на стыке с предлогом (РАС-), значит ближе к началу слова. Но двойными бывают и другие буквы ББ, ММ, ЖЖ, ВВ и другие. Надо помнить об этом и всегда иметь в виду, что можно "напороться", как на подводный риф, на какую-нибудь редкость.

В основном двойными бывают согласные буквы, гласные гораздо реже. А вот тройных букв не бывает.

Хорошо узнаются повторы знаков через знак. В основном этим "грешат" гласные ООлОкО, хОрОшО) и ЕЕвЕзЕниЕ). Если повтор в начале слова, то, наверняка, это приставка ПЕРЕ-.

В основном русские слова строятся по слогам типа согласная-гласная. В начале и серединах слов возможны последовательности согласных. В основном двойные (СТ-, ПР- и др.), бывают и тройные (СТР-), ВСТРечаются и четверные. На конце слов бывают двойные гласные (особенно в окончаниях прилагательных).

Главное помните, в памяти много родных слов, которые легко распознаются "на вкус".

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

Слова в предложении связаны между собой по смыслу. Если известно несколько слов, то остальные должны соответствовать грамматически и выстраиваться в общую фразу.

2. ОЦЕНКА ШИФРА

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

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

3. ПРЕДВАРИТЕЛЬНАЯ РАБОТА

Предварительная работа хороша тем, что можно не думать и не переживать: получится она или нет. Надо просто выполнять ее автоматически. Ее результаты все равно получатся и из них можно будет сделать какие-то выводы.

Вы берете шифр и не знаете с чего начать, вы в состоянии растерянности: что делать? Делайте стандартную предварительную работу и через некоторое время у вас будет в руках хоть что-то, у вас будет уже какой-то задел, у вас будет нить дальнейших рассуждений.

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

Следующий разумный шаг - это надо избавиться от сложных и визуально не привычных знаков. В нашем случаем надо избавиться от пляшущих человечков, чтобы не разбираться каждый раз, куда направлены "руки-ноги" и чем они отличаются (или не отличаются) от других похожих (или не похожих) "рук" и "ног". Для этого надо провести ИДЕНТИФИКАЦИЮ ЗНАКОВ, т.е. специально потратить некоторое время на изучение знаковой системы шифра как таковой: чем отличаются знаки друг от друга, какие элементы являются знакоотличительными.

В результате идентификации сложные вычурные знаки шифра представляются в виде цифр. Почему цифр? У нас две привычные системы письма: буквы и цифры. Буквы у нас должны появиться в итоге дешифровки, поэтому когда они будут появляться это будут уже элементы окончательного решения, а то что еще не решено будет все еще в виде цифр.

После идентификации оригинал и копию шифровки можно отложить в сторону. Теперь работаем только с цифровой копией. Теперь у нас цифры являются знаками.

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

Проводим подсчет частот использования каждого знака. Это будут, так называемые, частотные характеристики знаков. Их тоже можно разбить на десятки по частоте использования и представить в двух колонках. В левой будут знаки по частоте их использования в шифрограмме, а справа - буквы с аналогичными частотами.

Если письмо беспробельное, то на надо решить какие знаки являются знаками препинания. Обычно пробел - самый частый знак. В данном случае пробелы у нас обозначены флагами. Цифровую шифрограмму лучше представить с обычной разбивкой на слова.

Все имеющиеся шифрограммы надо просматривать сразу от первой до последней - где что получается.

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

4. ОБЩИЕ РАССУЖДЕНИЯ

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

Именно из таких общих рассуждений появляются имя адресата ИЛСИ (ЭЛСИ) и ответ миссис Кьюбит.

5. ДЕШИФРОВКА

Общий порядок действий и размышлений при дешифровке можно представить в виде такой блок-схемы.

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

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

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

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

Проверку предположения надо стараться сделать во всех случаях, где появилась эта буква. Но не везде может что-то получаться стоящее. При этом возможны два варианта: получается что-то похожее или ничего "не клеится".

Если ничего похожего не получается, то, значит, исходное предположение не верно, скрепя сердцем, надо признать, что требуется его замена,- надо начинать все сначала.

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

И так несколько раз - шаг за шагом - накапливая все больше и больше достоверных значений знаков. Чем больше достоверных знаков, тем легче угадываются оставшиеся.

Первоначальная шифрограмма, состоящая из знаков, разбавляется по мере дешифровки известными буквами и в этой смеси знаков и букв пытаемся найти новые значимые слова, ориентировочно сравнивая частоты знаков и букв.

Когда становится ясной структура предложения и какие-то отдельные слова, то промежуточные слова подыскиваются по смыслу.

Когда дешифровка закончена, с чувством выполненного долга надо составить алфавитную таблицу соответствия букв алфавита и знаков шифра. Это будет итог всей работы.

Этот пост является частью книги Пляшущие человечки. Литературное расследование. См. Оглавление
Рубрики:  литературные расследования
пляшущие человечки
Метки:  

 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку