Случайность — залог надежности
Альфа и омега успешного шифрования по способу одноразового блокнота заключается в том, что в последовательности цифр
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,
ибо как они смогут даже приступить к дешифровке? Цифры следуют друг за другом в таком же случайном порядке, как и цифры из листка, извлеченного из подошвы ботинка. Естественно, Карла может приказать своим подчиненным написать над этой последовательностью все возможные последовательности чисел, а затем сложить цифры друг с другом по модулю десять — в надежде, что в каком-нибудь результате проступит какая-то закономерная последовательность, которая и позволит расшифровать послание Смайли. Но затея эта абсолютно безнадежна и бесперспективна, ибо даже если бы все граждане Советского Союза, надрываясь из последних сил, стали бы выполнять этот безумный приказ Карлы, то и они не смогли бы перебрать все возможные варианты, ибо число возможных последовательностей практически бесконечно.
Но даже если бы удалось выявить какую-то закономерность, то и это ничего не дало бы Карле.
Вообразим, что один из подчиненных Карлы, обреченный на безнадежную расшифровку послания Смайли, внезапно вскакивает с места и бежит в кабинет Карлы, чтобы показать ему результат — 3 3 3 3 3 3 3 3 3, полученный из зашифрованного сообщения. Оказалось, что существует случайная последовательность цифр, при использовании которой донесение 3 3 3 3 3 3 3 3 3 кодируется в перехваченную последовательность. Однако, когда шифровальщик врывается в скудно обставленный и насквозь прокуренный кабинет Карлы, он видит там дюжину своих коллег, которые тоже хотят показать Карле полученные ими результаты. У каждого из шифровальщиков на руках последовательность, которая с равной вероятностью может быть закодированным донесением Смайли. Однако у Карлы нет исходной точки, опираясь на которую он мог бы решить, какой из результатов верен. Можно смело заключать пари, что среди полученных результатов верного-то как раз и нет.
Если известна последовательность цифр, в которой они располагаются случайным образом, то это знание позволяет закодировать донесение по методу одноразового блокнота шифром, который абсолютно невозможно «расколоть». Во всяком случае, если донесение было одно. Если же надо зашифровать несколько донесений, то для каждого из них надо составлять новую последовательность цифр, в которой они появляются друг за другом в абсолютно случайном порядке.
Но как получают такие последовательности цифр? Можно подумать, что нет ничего проще: садишься за клавиатуру компьютера и хаотично нажимаешь цифровые клавиши. Но такая методика ненадежна, и полагаться на нее нельзя. Нельзя, даже если на клавиши будут нажимать индейцы племени хопи, которые представляют совершенно чуждую нам культуру, не знают наших цифр и будут совершенно наугад нажимать на клавиши с непонятными символами. Эта методика будет ненадежна и в том случае, если стереть с клавиш символы цифр, убрать экран монитора и человек действительно вслепую будет ударять по клавишам. Не будет такой метод надежным, даже если за клавиатуру посадить не человека, а животное. Собственно, не важно, как конкретно будет исполнено это действо, — если нажимать на клавиши достаточно долго, то в последовательности чисел (или иных символов) неизбежно появится закономерность. Закономерность же — это злейший враг случайности.
На ум сразу приходит мысль — позаимствовать какой-нибудь случайный процесс у природы. Например, можно воспользоваться небольшими колебаниями напряжения, которые неизбежно возникают в электрических цепях. Или, например, распадом радиоактивных веществ, ибо квантовая теория учит, что такой распад непредсказуем и в принципе является случайным процессом.
Таким образом, квантовая механика сулит по меньшей мере теоретическую возможность кодирования, которое невозможно расшифровать. Однако, как говорил Гёте: «Теории — это обыкновенно результаты чрезмерной поспешности нетерпеливого рассудка, который хотел бы избавиться от явлений и подсовывает поэтому на их место образы, понятия, часто даже одни слова». Рожденные в головах блестящие теории сильно отличаются от их воплощения на неподатливом материале.
Математика более надежна, нежели природа.