Неделя 8. Шифрование на основе редкой книги

 

Уф‑ф‑ф. Это было непросто. Столько новой информации удалось получить за прошлую неделю, не правда ли? Но теперь ты можешь отличать одни алфавиты от других, умеешь распознавать различные языки и при желании сможешь более интересно зашифровывать свои тайны. Ведь ты теперь знаешь, чем отличаются знаки‑буквы от знаков‑слогов.

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

А теперь представь, что шифрограмма состоит из последовательности чисел, среди которых ни одно не повторяется дважды. Как такое расшифровать? К скрытой таким способом тайне и подступиться‑то страшновато. Даже если мы при помощи этого метода напишем целую книгу большого объёма, горе‑криптоаналитику ничего не останется, как кусать локти. У него ничего не получится. Он повертит эти числа и так, и эдак, но сопоставить им какой‑то смысл будет практически невозможно.

«Книгу»… Обрати внимание на это слово в предыдущем абзаце. Оно должно натолкнуть тебя на размышления. Предлагаю тебе сейчас отложить этот текст и подумать, как можно использовать книгу для шифрования.

Итак, в результате размышлений тебе в голову должен был прийти, по крайней мере, один способ шифрования при помощи книги. Давай‑ка попробуем проверить. Я приведу несколько способов, которые пришли в голову мне, и ты сможешь сравнить свои догадки с моими. Вдруг тебе удалось меня превзойти?

В книге напечатан текст, который состоит из предложений, слов и букв (и других знаков, но они нам сейчас не очень‑то и интересны). Мы можем выбрать из книги эти объекты. Но предложения выбирать крайне непродуктивно, поскольку вряд ли в произвольной книге ты найдёшь именно то предложение, которое хочется тебе написать – только если оно уж слишком простое и обыденное.

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

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

Что такое «система индексации»? Можно сказать, что это способ, который поможет нам понять, какую букву необходимо взять из книги. На ум сразу же приходит несколько таких способов:

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

2. Можно указывать номер буквы на странице – а страницы в книгах уже пронумерованы. Тогда код для буквы будет состоять из двух чисел: номер страницы + номер буквы на странице. Этот способ намного легче, тем более что один из индексов уже создан (номера страниц).

3. Наконец, можно указывать номер страницы, номер строки на странице и номер буквы в строке. Уже три числа для каждой буквы! Но такой тройной индекс намного проще. И опять один из номеров уже напечатан в самой книге, остаётся найти два других.

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

Как же шифровать таким методом? Необходимо выбрать в качестве ключа достаточно редкую книгу. По одному экземпляру такой книги должно быть у тебя и у того, с кем ты переписываешься. Итак, если ты хочешь зашифровать, скажем, слово «ПОБЕДА», то в произвольном месте книги ты должен найти букву «П» и записать её тройной индекс. Например, вот так: (20 17 35), что обозначает «буква на странице 20, в строке 17, на позиции 35». Шифрограмма всего слова будет примерно такой: (20 17 35) (6 5 3) (37 5 15) (32 5 21) (1 4 6) (5 13 7). Можно даже отказаться от скобок, поскольку довольно просто откладывать каждый раз по три числа и использовать их в качестве кода. Зато у криптоаналитика будет такая головная боль, что он спать не сможет! Если не использовать скобки, то начнут встречаться повторные числа, но это не должно тебя волновать: ведь это только затуманит и усложнит процесс расшифровки, и горе‑криптоаналитик потратит огромное количество времени на частотный анализ, а он здесь вообще бессмыслен.

Соответственно, расшифровка происходит абсолютно так же, только в обратном направлении. Если тебе встречается код (20 17 35), то открой двадцатую страницу своей кодовой книги, отсчитай сверху семнадцатую строку, а в этой строке отсчитай тридцать пятую букву и выпиши ее. И так далее, для всей шифровки.

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

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

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

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: