Что такое «система индексации»? Можно сказать, что это способ, который поможет нам понять, какую букву необходимо взять из книги. На ум сразу же приходит несколько таких способов:
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), то открой двадцатую страницу своей кодовой книги, отсчитай сверху семнадцатую строку, а в этой строке отсчитай тридцать пятую букву и выпиши ее. И так далее, для всей шифровки.
Этот метод шифрования практически невозможно взломать. Только благодаря удаче криптоаналитику в руки может попасть книга-ключ. Но при этом криптоаналитик должен еще и догадаться, что использовался описанный способ шифрования. В истории случались эпизоды, когда зашифрованные таким образом тексты были расшифрованы. Но это происходило только когда в качестве ключа была выбрана какая-то очень известная книга, а криптоаналитик знал, что шифрограмма зашифрована именно этим способом, и начинал просто перебирать все доступные ему книги. В конце концов шифрограмма поддавалась. Потому я напоминаю, что надо использовать редкую книгу либо вообще написать для этих целей уникальный текст.
Впрочем, иногда такие шифрограммы удаётся взломать и по-другому. Никто не отменял выкрадывание ключей, разные шпионские штучки и прочие не совсем честные методы. Поэтому храни свои криптографические ключи очень тщательно и оберегай их от чужого взгляда.
Теперь ты можешь приступать к выполнению задания. В письме, которое тебе придёт, будет шифрограмма, закодированная одним из описанных здесь способов. Попробуй применить к ней книгу из тех, что ты взял с собой.
Неделя 9. Замена целых понятий
На этой неделе мы изучим новую технику криптографии и шифрования. Она также позволяет очень хорошо защищать тайны и передавать оперативные сообщения. Эта техника основана на использовании кодовых слов.
Давай чётко разграничим понятия «