Фактически существует весьма простой математический метод, с помощью которого можно получать лишенные периодичности последовательности цифр после запятой. Например, извлечение квадратного корня. Рассмотрим для примера число 10. Будем искать число, которое при возведении в квадрат дало бы в результате 10, но мы его не найдем. 3² = 3 × 3 = 9, то есть тройка — слишком малое число, а 4² = 4 × 4 = 16, то есть четверка — слишком большое. Перспективными представляются два десятичных числа с одним знаком после запятой — 3,1 и 3,2, ибо 3,1² = 3,1 × 3,1 = 9,61, а 3,2² = 3,2 × 3,2 = 10,24. Но в первом случае мы снова получаем небольшой недостаток, а во втором — небольшой избыток. Попробуем поступить по-другому. Можно представить, что калькулятор выдаст значение такого числа, если мы зададим действие: извлечь квадратный корень из числа 10. Восьмиразрядный калькулятор выдаст на дисплее следующий результат: 3,1622777. Но, оказывается, и это не окончательный результат. Если взять для вычислений мощный компьютер, то в результате извлечения квадратного корня из числа 10 мы получим следующее:
3,162 277 660 168 379 331 998 893 544 432 718 533 719 555 139
325 216 826 857 504 852 792 594 438 639 238 221 344 248 108 379 300 295 187 347 284 152 840 055 148 548 856…
Эта последовательность цифр после запятой производит впечатление полнейшего хаоса.
Годится ли эта последовательность для использования в кодировании по методу одноразового блокнота? Едва ли можно советовать этот метод для шифрования, ибо дешифровщики тоже знают, как извлекать квадратные корни. Они ставят себя на место людей, зашифровавших перехваченное донесение, и задают себе вопрос: к какому методу прибегнул противник для получения случайной цифровой последовательности? В простейшем случае это извлечение квадратного корня из числа, не являющегося точным квадратом. Дешифровщики испытают несколько чисел и очень скоро расколют шифровку.
Собственно говоря, ту последовательность цифр, которую мы использовали в нашем примере с шифровкой Смайли,
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…,
тоже нельзя использовать для кодирования донесения, и не потому, что цифры не расположены абсолютно хаотично — как раз эта последовательность является совершенно хаотичной. Дело, однако, в том, что эта последовательность очень хорошо знакома всем любителям чисел. Речь идет о первых цифрах после запятой всем известного числа π.
Архимед — впрочем, кто еще мог это сделать, как не величайший математик всех времен и народов? — был первым, кому удалось изобрести способ со сколь угодной точностью рассчитывать соотношение длины окружности и ее диаметра. Сам Архимед не называл это соотношение π. Это обозначение ввел в математику много веков спустя валлийский математик Уильям Джонс, произведя его от греческого слова περιφέρεια — периферия, кайма, край. Ввиду чрезвычайной трудоемкости расчетов Архимед удовольствовался тем, что поместил результат между значениями 3 + 10/71 (что соответствует современной записи 3,1408…) и 3 + 1/7 (что соответствует современной записи 3,1428…). Только около 1600 г., больше чем за тридцать лет работы, Лудольфу ван Цейлену удалось ценой тяжких усилий рассчитать следующую величину числа π:
π = 3,141 592 653 589 793 238 462 643 383 279 502 88…
Именно результатом ван Цейлена мы воспользовались для числа из нашего примера с шифровкой Смайли. Правда, использование этой последовательности было для Смайли и Цирка неслыханно рискованным, ибо число π является одним из самых известных чисел в мире. С помощью электронно-вычислительных машин и специальных программ, которые считают намного быстрее, чем Архимед, число π было рассчитано с точностью до нескольких триллионов знаков после запятой. Величина π представляет собой одно из чисел, какие французский математик Эмиль Борель за неимением, видимо, более подходящего слова назвал в 1909 г. нормальными. Если рассмотреть достаточно длинный отрезок десятичного представления числа π, скажем один миллион следующих друг за другом разрядов, то выяснится, что каждая из десяти цифр встретится в этом отрезке приблизительно сто тысяч раз. Каждая из ста пар цифр (от 00 до 99) встретится в этом отрезке приблизительно десять тысяч раз, а каждое из тысячи сочетаний из трех цифр встретится в выбранном отрезке около тысячи раз.
В «Математикуме» Альбрехта Бейтельспахера в Гисене, в Технораме в Винтертуре и на других подобных выставках любителям с помощью интересных экспонатов наглядно демонстрируют, что такое математика. Так вот, на этих выставках можно видеть компьютерную клавиатуру и монитор. С помощью этой аппаратуры любой желающий может напечатать на экране число, месяц и год своего рождения. На экране в ту же секунду отображается тот отрезок десятичного представления числа π, куда включена последовательность чисел, составляющих дату рождения. Считается, что в нормальном числе произвольная последовательность из восьми цифр встречается приблизительно десять раз на отрезке длиной в миллиард цифр.
Все сказанное с явной очевидностью указывает на то, что число π является нормальным числом, но ни в коем случае этого не доказывает. Нормальным, с гарантией, является число, изобретенное британским экономистом Дэвидом Гоуэном Чамперноуном и представляющее собой бесконечную непериодическую десятичную дробь
0,123 456 789 101 112 131 415 161 718 192 021 222 324 252 627 28…,
в которой последовательность цифр выписывается по тому же принципу, по которому писал на холсте свои числа Роман Опалка: за однозначными числами, записанными после запятой, следуют все прочие натуральные числа — 10, 11, 12, 13, 14 и так далее. На первый взгляд это вообще незаметно, потому что цифры записываются тройками, но если начать читать цифровую последовательность вслух, то принцип построения сразу становится очевидным. Кстати, стоит отметить, что этот принцип Чамперноун предложил в 1933 г., когда был юным студентом Кембриджа.
Но и это число слишком широко известно, и его нельзя применять для шифрования по методу одноразового блокнота.
Творческое смешение
Теперь мы снова обратимся к цифровым последовательностям, которые возникают в результате деления. Оказалось, что при делении на очень большие числа иногда приходится очень долго ждать того момента, когда в последовательности цифр вдруг начинает проступать повторяемость и периодическая закономерность. Так как не всегда легко отыскать подходящий большой делитель, да и само деление бывает достаточно трудоемким, мы решили отказаться от идеи создавать таким способом случайные цифровые последовательности.
Но целиком и полностью ее отбрасывать все же не стоит. С помощью деления мы как будто бы перепутываем цифры. Впрочем, оставим на время деление и сосредоточимся на перемешивании.
Тоби Эстерхази, незаметный сотрудник Цирка, разложил перед собой десять игральных карт с числами 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Для того чтобы составить для умников Цирка случайные последовательности цифр, Тоби должен основательно перетасовать карты. Потом он извлекает из колоды одну карту, записывает цифру, возвращает карту в колоду, снова тасует ее, а затем извлекает следующую карту и записывает следующую цифру; Тоби продолжает эту игру до тех пор, пока не запишет последовательность из двенадцати цифр — например
7 5 2 5 8 4 0 4 9 6 1 3.
Таким способом Тоби создал одну из 1012, то есть из одного триллиона, возможных комбинаций по 12 цифр, и большая часть этих комбинаций представляется совершенно случайной.
Эстерхази мог бы получить ту же, но периодически повторяющуюся последовательность цифр, если бы поделил число 6917 на число 9191. В результате он бы получил:
6917 ÷ 9191 = 0,752 584 049 613 752 584 049 613 752 584 049 613…
Заметим, кстати, что деление числа 752 584 049 613 на число 999 999 999 999 дает тот же самый результат, что определяется свойствами делителя.
Однако этого недостаточно для использования в методе одноразового блокнота, ибо созданная Тоби Эстерхази последовательность цифр периодически повторяется, то есть обладает явной, видимой закономерностью и упорядоченностью.
Естественно, однако, что важный Эстерхази не сам выполняет перемешивание цифр. У него в подчинении двадцать человек, которые ежечасно, ежедневно и ежемесячно снова и снова складывают карты в колоды, тасуют их, вытаскивают по одной карте, записывают цифру, укладывают карту в колоду, снова тасуют, снова вытаскивают и записывают следующую цифру, потом снова укладывают карту в колоду и снова тасуют, и так каждый божий день в течение восьмичасовой смены. Сам Тоби в это время разыгрывает из себя Оскара Уайльда и предается праздности. Он лишь собирает полученные в конце рабочего дня двадцать списков, составляет их в произвольном порядке и укладывает в сейф, добавляя к спискам предыдущих дней.
Если каждый подчиненный каждую минуту добавляет к списку одну цифру и работает без перерыва восемь часов, то за один рабочий день он составит список из 480 разрядов, а Тоби к концу дня составит список цифр, представляющий собой число из 9600 разрядов. Этот список Тоби укладывает в сейф. Через два месяца Тоби является к Шефу, главному начальнику конторы, настоящего имени которого не знает ни один сотрудник Цирка, и кладет ему на стол случайную последовательность, состоящую из почти двухсот тысяч цифр. «Для наших яйцеголовых из шифровального отдела это слишком мало, — вздыхает Шеф. — Нам нужны более длинные случайные последовательности».
«Тогда мне нужно в десять раз больше сотрудников, — парирует Тоби, — и тогда я смогу за то же время составлять в десять раз большие последовательности».
«В десять раз больше — это тоже мало, — возражает Шеф, кисло усмехнувшись, — а кроме того, последовательности нужны нам быстро. И вообще нам следует занять сотрудников чем-то более осмысленным. Игра с тасованием карточных колод вышла из моды. Мы здесь, на верхнем этаже, обсудили этот вопрос, и сегодня я доведу до твоего сведения наше решение. Яйцеголовые создали компьютерную программу, которая будет выполнять ту работу, какую делали, Тоби, твои пудели»