Читаем без скачивания Криптономикон, часть 1 - Нил Стивенсон
Шрифт:
Интервал:
Закладка:
Даже чтобы взломать 768-битный ключ, нужны огромные ресурсы. Добавьте бит, ключ станет 769-битным, но число возможных вариантов увеличится вдвое и задача станет еще более сложной. 770-битный ключ взломать еще труднее, и так далее. Используя 768-битный ключ, Рэнди и Ави могли бы хранить свою переписку в тайне от практически всего остального человечества на протяжении по меньшей мере ближайших нескольких лет. 1024-битный ключ многократно, астрономически труднее взломать.
Некоторые особо нервные пользуются 2048 — или даже 3072-битными ключами. Это остановит лучших дешифровщиков мира на астрономический период времени, если не будут созданы запредельные технологии, скажем, квантовые компьютеры. Даже лучшие специалисты по защите информации редко закладывают в свои программы поддержку более длинных ключей. Ави потребовал использовать «Ордо», который считается лучшей криптографической программой в мире, именно потому, что может оперировать ключами произвольной длины — если вам охота ждать, пока он перелопатит все цифры.
Рэнди начинает печатать, не глядя на экран — он смотрит в окно на фары грузовиков и джипни. Печатает он одной рукой, расслабленно шлепая по клавиатуре.
В компьютере у Рэнди — таймер. Когда он нажимает клавишу, «Ордо» берет значение текущего времени с точностью до микросекунд. Рэнди ударяет по клавише в 03:05:56.935788, по следующей в 03:05:57.290664, то есть на 0, 354876 секунд позже. Еще через 0, 372307 снова. «Ордо» записывает интервалы и отбрасывает первые значащие цифры (в данном случае 35 и 37), поскольку они будут близки от события к событию.
«Ордо» требуется случайность. Ему нужны наименее значащие цифры — скажем, 76 и 07. Ему нужна целая куча случайных чисел, и ему нужно, чтобы они были очень, очень случайны. Он берет полученные случайные числа и пропускает их через хэш-функции, чтобы сделать еще более случайными. Он прогоняет результаты через статистические программы, проверяя, нет ли в них скрытых закономерностей. У него умопомрачительные стандарты случайности, и он требует, чтобы Рэнди тюкал по клавишам, пока не будет достигнут требуемый результат.
Чем более длинный ключ вы хотите сгенерировать, тем больше времени это займет. Рэнди хочет сгенерировать несуразно длинный ключ. Он написал Ави, в зашифрованном электронном письме, что если каждую частицу вещества во вселенной использовать для строительства одного космического суперкомпьютера, то на взлом 4096-битного ключа этому компьютеру потребуется время, превосходящее срок жизни вселенной.
«На современном уровне технологии — да, — без промедления отозвался Ави. — Но как насчет квантовых суперкомпьютеров? И что, если будут разработаны новые математические алгоритмы, облегчающие разложение на множители больших чисел?»
«Как долго ты хочешь хранить наши сообщения в тайне? — спросил Рэнди в последнем письме, которое отправил из Сан-Франциско. — Пять лет? Десять лет? Двадцать пять лет?»
Добравшись сегодня до гостиницы, он расшифровал и прочел ответ Ави. Строка по-прежнему висит у него перед глазами, как после стробоскопической вспышки.
Я хочу, чтобы они оставались в тайне, пока люди способны творить зло.
Компьютер наконец запищал. Рэнди снимает усталую руку с клавиатуры. «Ордо» вежливо предупреждает, что некоторое время может быть занят, и принимается за работу. Он прочесывает вселенную чистых цифр, ища два достаточно больших простых числа, которые при перемножении дали бы произведение длиной 4096 бит.
Если вы хотите, чтобы ваши тайны вас пережили, то, выбирая длину ключа, вы должны быть футурологом. Вы должны предвидеть, как будут в это время развиваться компьютеры. Вы должны разбираться в политике. Если весь мир превратится в одно большое полицейское государство, одержимое распутыванием старых тайн, то задача разложения на множители больших составных чисел может быть решена ударными темпами.
Так что длина ключа, которым вы пользуетесь, сама по себе своего рода шифр. Компетентный сексот, узнав, что Рэнди и Ави пользуются 4096-битным ключом, придет к одному из следующих выводов:
— Ави сам не понимает, что говорит. Такое можно исключить, ознакомившись хотя бы с частью его прежних достижений.
Или:
— Ави — клинический параноик.
Или:
— Ави либо крайне оптимистично смотрит на будущее компьютеров, либо крайне пессимистично на развитие политического климата, либо и то и другое вместе.
Или:
— Ави планирует больше чем на сто лет вперед.
Рэнди расхаживает по комнате, пока его компьютер несется через числовое пространство. Контейнеры на грузовиках украшены теми же логотипами, что на улицах Сиэтла при разгрузке корабля. Рэнди испытывает странное умиротворение, как будто, совершив безумный прыжок через Тихий океан, внес в свою жизнь некую зеркальную симметрию. Он попал из того места, где продукты потребляются, туда, где их производят, из страны, где передовым обществом онанизм возведен в культ, в страну, где на стекла автомобилей клеят плакатики «НЕТ КОНТРАЦЕПЦИИ!». У него возникает странное чувство, что это правильно. Так хорошо ему не было с тех пор, как двенадцать лет назад они с Ави затеяли свое первое гиблое дело.
Рэнди вырос в университетском городке на востоке штата Вашингтон, окончил государственный университет в Сиэтле и осел в тамошней библиотеке, точнее — в межбиблиотечном абонементе. Его обязанностью было обрабатывать требования, присланные из маленьких окрестных библиотек, и, наоборот, рассылать требования в другие библиотеки. Если бы девятилетний Рэнди Уотерхауз мог заглянуть в будущее и увидеть себя на рабочем месте, он бы возликовал. Дело в том, что главным орудием труда в межбиблиотечном абонементе служил скрепковыдиратель. В четвертом классе Рэнди увидел такой у своего учителя и был зачарован его устрашающим видом. Хитроумное устройство напоминало пасть фантастического робота-дракона. Рэнди нарочно неправильно скреплял выполненные задания и просил учителя расскрепить, чтобы лишний раз увидеть хищные жвалы в действии. Дошло до того, что он стащил скрепковыдиратель из церкви со стола, когда никто не видел, встроил в робота-убийцу из конструктора и терроризировал всю округу. Немало дешевых пластмассовых игрушек было перекушено адскими челюстями, прежде чем кражу обнаружили и Рэнди торжественно пристыдили перед Богом и людьми. Теперь, в межбиблиотечном абонементе, у Рэнди не просто лежало несколько таких в ящике стола — он еще и вынужден был орудовать ими по часу-два в день.
Библиотека Вашингтонского университета была хорошо укомплектована, поэтому читатели редко заказывали книги из других — только если свои экземпляры оказывались украдены или требовалось что-то необычайно редкое. В Межбибе (как ласково называли его Рэнди и другие коллеги) имелись свои постоянные посетители — люди, которые заказывали целую кучу редкостных книг. Эти люди были или нудные, или робкие, или то и другое вместе. Рэнди обычно доставались именно робкие зануды, поскольку он единственный из младших сотрудников не собирался куковать в библиотеке до конца жизни. Все понимали, что Рэнди, выпускник астрономического факультета с хорошим знанием компьютера, рано или поздно найдет себе что-нибудь получше: у его коллег таких устремлений не было. Вот почему Рэнди, с его широким кругозором и терпимым отношением к чужим странностям, оказывался очень кстати, когда в Межбиб приходил определенного типа читатель.
Рэнди и сам казался большинству нудным, робким и несколько задвинутым. Впрочем, задвинут он был не только на науке, но и на фантастических ролевых играх. Он сумел высидеть два года на тупейшей работе лишь потому, что все свободное время разыгрывал фантастические сценарии немыслимой глубины и сложности, так что его мозги, ненужные в Межбибе, работали с полной нагрузкой. Их компания встречалась каждую пятницу и порой играла до воскресенья. Кроме Рэнди, в нее постоянно входили Честер (который учился сразу на двух факультетах — техническом и музыкальном) и аспирант-историк Ави.
Когда новый магистрант по имени Эндрю Лоуб вошел в Межбиб с характерным блеском в глазах и вынул из потертого рюкзака трехдюймовую стопку аккуратно отпечатанных требований, его немедленно диагностировали и направили к Рэнди Уотерхаузу. Произошла встреча родственных душ, хотя Рэнди окончательно это понял, лишь когда книги для Лоуба начали прибывать на тележках из зала доставки.
Энди Лоуб писал работу об энергетическом балансе местных индейских племен. Человеческое тело тратит определенную энергию просто на то, чтобы двигаться и поддерживать собственную температуру. Ее величина растет на холоде или когда данное тело совершает работу. Единственный источник энергии — еда. Некоторые виды пищи энергетически богаче других. Например, форель очень богата белками, однако так бедна жирами и углеводами, что, если питаться ею одной, можно умереть с голода. Другие продукты содержат уйму энергии, но их так трудно добыть, что в смысле кВт-часов питаться ими невыгодно. Эндрю Лоуб хотел выяснить, чем исторически питались некоторые индейские племена северо-запада, сколько энергии они тратили на добывание пищи и что из нее получали. Он хотел проделать эти расчеты для прибрежных индейцев вроде селишей (имевших легкий доступ к всевозможным дарам моря) и для материковых вроде кайюсов (не имевших такого доступа) и, таким образом, установить связь между уровнем жизни и культурным развитием племен (прибрежные индейцы рисовали немыслимой сложности орнаменты, материковые иногда царапали на камнях примитивных человечков).