Шрифт:
Интервал:
Закладка:
Основная идея метода OTP основана на следующих фактах: каждое сообщение состоит из последовательности букв. Рассмотрим, например, двадцать шесть букв латинского алфавита, из которых мы составляем слова немецкого языка. Некоторые слова, например ОН (ER) или ДА (JA), короткие и состоят всего из двух букв, другие слова длинные и могут состоять из 24 и даже 28 букв. Для того чтобы наглядно показать принцип, мы простоты ради будем говорить только о словах, состоящих из десяти букв. Сколько в нашем языке слов, состоящих из десяти букв? Даже если проявить неслыханную щедрость, мы едва ли насчитаем больше полумиллиона таких слов. Сколько комбинаций по десять можно составить из 26 букв латинского алфавита? Их можно довольно легко подсчитать. Набор из десяти букв начинается с последовательности AAAAAAAAAA, дальше следует AAAAAAAAAB, AAAAAAAAAC, AAAAAAAAAD и так далее. Где-то в середине этого множества окажется слово МАТЕМАТИКА (MATHEMATIK), а окончится он набором ZZZZZZZZZZ. На последнем, десятом месте набора из десяти букв есть двадцать шесть возможностей поставить какую-либо из букв алфавита. На предпоследнем месте таких возможностей тоже двадцать шесть, и так далее, до тех пор, пока мы не доберемся до первого места, до первой буквы. На этом месте тоже существует двадцать шесть возможностей. Всего получается
2610 = 1 411 167 095 653 376,
то есть больше одного квадриллиона комбинаций по 10 из 26 букв алфавита. В сравнении с этой величиной полмиллиона осмысленных слов немецкого языка, состоящих из десяти букв, таких, например, как MATHEMATIK, представляются крошечной долей всех возможных комбинаций.
Кроме того, чем длиннее осмысленное сообщение, тем в большей степени попадает оно в белый шум всех мыслимых буквенных комбинаций равной длины.
Составлять ли сообщение из букв алфавита или из цифр — это лишь вопрос соглашения. Так как «герои» данной книги — числа и цифры, давайте будем представлять следующие послания в виде комбинаций цифр. Итак, мы принимаем, что Джордж Смайли, тайный агент, действующий в холоде за железным занавесом, хочет направить в Цирк донесение 0 0 7 0 0 7 0 0 7. Это донесение надо зашифровать.
Смайли снимает с правой ноги ботинок, поднимает стельку над подошвой и извлекает из тайника сложенный листок бумаги, который он кладет перед собой на стол и аккуратно расправляет. На листке бумаги записана такая последовательность цифр:
1 4 1 5 9 2 6 5 3 5 8 9 7 9 3 2 3 8 4 6 2 6 4 3 3 8 3 2 7 9 5 0 2 8 8…
Ниже этой строки Смайли цифру за цифрой вписывает свое донесение:
Теперь Смайли складывает написанные друг под другом цифры, но не обычным способом, а «по модулю десять». Делается это так: записывается лишь число единиц полученной суммы; если сумма превышает десять, то единицу просто отбрасывают. Например, результат сложения 9 и 5 записывают в виде 4, то есть число единиц суммы 14. Под конец лист бумаги выглядит так:
Нижняя последовательность, укороченная до длины послания, то есть
1 4 8 5 9 9 6 5 0,
и есть зашифрованное донесение. Его Смайли по радио передает в Цирк, после чего сжигает листок бумаги, так как никогда больше не будет использовать его для шифрования донесений. В подкладку его пальто зашит еще один лист бумаги с другой последовательностью цифр.
Тоби Эстерхази в лондонской штаб-квартире Цирка уже сидит у радиоприемника и ждет донесения Смайли. У него есть лист бумаги с такой последовательностью цифр:
9 6 9 5 1 8 4 5 7 5 2 1 3 1 7 8 7 2 6 4 8 4 6 7 7 2 7 8 3 1 5 0 8 2 2…
Почему именно такая последовательность? Если мы запишем под этой последовательностью цифр ту, которую Смайли хранил в подошве своего ботинка, то сразу угадаем ответ:
1 4 1 5 9 2 6 5 3 5 8 9 7 9 3 2 3 8 4 6 2 6 4 3 3 8 3 2 7 9 5 0 2 8 8…
9 6 9 5 1 8 4 5 7 5 2 1 3 1 7 8 7 2 6 4 8 4 6 7 7 2 7 8 3 1 5 0 8 2 2…
Каждая цифра нижней последовательности при сложении с соответствующей верхней цифрой по модулю десять дает в результате ноль. Если последовательность из подошвы ботинка Смайли — это та последовательность, которую он применил для шифрования, то последовательность цифр из письменного стола Тоби Эстерхази — это та последовательность, с помощью которой Эстерхази намерен расшифровать донесение, присланное Смайли. Для этого Тоби старательно записывает присланный Смайли шифр под последовательностью своих цифр.
и складывает опять-таки по модулю десять нижних цифр с верхними, как это делал Смайли за железным занавесом:
Очевидно, что если нижнюю последовательность цифр сократить до длины донесения Смайли, то мы получим его в расшифрованном виде — 0 0 7 0 0 7 0 0 7.
Альфа и омега успешного шифрования по способу одноразового блокнота заключается в том, что в последовательности цифр
1 4 1 5 9 2 6 5 3 5 8 9 7 9 3 2 3 8 4 6 2 6 4 3 3 8 3 2 7 9 5 0 2 8 8…,
записанной на клочке бумаги, спрятанной в подошве ботинка Смайли, нет никакой закономерности. Цифры следуют друг за другом совершенно случайным образом. Эта последовательность эквивалентна шуму, который мы слышим из динамика радиоприемника, когда он не настроен на волну определенной радиостанции. Осмысленное донесение Смайли начальству Цирка теряется в этом белом шуме только благодаря тому, что из значимого числа — а значимое число и есть донесение — путем сложения по модулю десять осмысленного числа с числовой последовательностью, записанной на листке Джорджа Смайли, получается лишенная какой-либо закономерности цифровая последовательность.
Очевидно поэтому, что агенты Карлы едва ли смогут что-то сделать с перехваченным сообщением
1 4 8 5 9 9 6 5 0,
ибо как они смогут даже приступить к дешифровке? Цифры следуют друг за другом в таком же случайном порядке, как и цифры из листка, извлеченного из подошвы ботинка. Естественно, Карла может приказать своим подчиненным написать над этой последовательностью все возможные последовательности чисел, а затем сложить цифры друг с другом по модулю десять — в надежде, что в каком-нибудь результате проступит какая-то закономерная последовательность, которая и позволит расшифровать послание Смайли. Но затея эта абсолютно безнадежна и бесперспективна, ибо даже если бы все граждане Советского Союза, надрываясь из последних сил, стали бы выполнять этот безумный приказ Карлы, то и они не смогли бы перебрать все возможные варианты, ибо число возможных последовательностей практически бесконечно.