Нормальные числа
Если разделить на карманном калькуляторе 22 на 7, то на восьмиразрядном дисплее появится следующий результат:
22 ÷ 7 = 3,1428571.
Если воспользоваться более мощным прибором с 16-разрядным дисплеем, то получится:
22 ÷ 7 = 3,142857142857143.
Это наводит на предположение о том, что цифровая последовательность после числа 3 и запятой, а именно
1 4 2 8 5 7 1 4 2 8 5 7 1 4 2 8 5 7 1 4 2 8 5 7 1 4 2 8 5 7 1 4 2 8 5 7 1 4 2 8 5 7…
представляет собой бесконечную последовательность. Следовательно, математики уже путем простого арифметического действия, деления, могут производить бесконечные цифровые последовательности. Правда, данная последовательность не годится для шифрования по методу одноразового блокнота. В этой последовательности с первого взгляда прослеживается закономерность, уничтожающая всякую случайность.
Вероятно, предположит проницательный читатель, все дело в том, что для деления были взяты слишком малые числа, — и будет прав. Если, например, разделить 355 на 113, то, проявив терпение, можно получить следующее число:
355 ÷ 113 = 3,141 592 920 353 982 300 884 955 752 212 389 380 530 973 451 327 433 628 318 584 070 796 460 176 991 150 442 477 876 106 194 690 265 486 725 663 716 814 159 292 035 398…
Эта последовательность выглядит абсолютно случайной, но только на первый взгляд. Если присмотреться внимательно, то можно заметить, что в последней строке, начиная со 112-го места после запятой, снова появляется последовательность 14 159 292 035 398…, которая уже стоит сразу после запятой. При делении возникновение таких периодичностей неизбежно. Делить придется на огромные, специально приспособленные для десятичной системы числа, для получения периодов длинных настолько, чтобы на практике они не возникали. Однако отыскание подходящих делителей и выполнение самого деления являются очень трудоемкими, если надо получить действительно длинные периоды.
Фактически существует весьма простой математический метод, с помощью которого можно получать лишенные периодичности последовательности цифр после запятой. Например, извлечение квадратного корня. Рассмотрим для примера число 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 г., когда был юным студентом Кембриджа.
Но и это число слишком широко известно, и его нельзя применять для шифрования по методу одноразового блокнота.