Читаем без скачивания Криптономикон, часть 2 - Нил Стивенсон
Шрифт:
Интервал:
Закладка:
Рэнди видит людей с транспарантами, на которых написано его имя. Он старается не думать, что из этого вытекает. Грузовики с оборудованием еле-еле пробиваются по запруженным дорогам, по когда все-таки прибывают, начинается самое неприятное и нудное — приходится целую неделю таскать всю эту ерунду в джунгли. Рэнди почти все время болтается с геофизиками; у них есть классная железка — акустический томограф, которым «Гото Инжиниринг» просвечивает (или, как говорят эти ребята, «прозвучивает») участки будущих работ. К тому времени, как доставлено тяжелое оборудование, у Рэнди готов погоризонтный план Голгофы с разрешением около метра. Он мог бы летать по ней в виртуальной реальности, если бы захотел. Теперь нужно только решить, где пробурить три скважины: две сверху, в главную камеру, и одну сбоку, почти горизонтально, но с легким подъемом вверх, к нижнему зумпфу. Дренажное отверстие.
Кто-то прилетает из внешнего мира и сообщает Рэнди, что он на обложках «Тайм» и «Ньюсуик». Рэнди не видит в этом ничего хорошего. У него новая жизнь. Она видится ему так: жениться на Ами и потихоньку заниматься своим делом, пока не помрет от старости. Светиться на обложках газет и транспарантах посреди джунглей в его планы не входит. Ему хочется остаться в джунглях навсегда.
Насосы размером с добрую лошадь, очень мощные и способны поддерживать высокое давление. Их выпускные трубы по диаметру в точности совпадают с устьями скважин на вершине: через одну будет подаваться сжатый воздух, через другую — солярка под давлением. Дуг Шафто тоже хотел бы участвовать, но он недостаточно подкован в техническом отношении, поэтому занимается охраной участка от золотоискателей и лазутчиков Ина, чтобы не мешали и не досаждали. У Дуга масса интересных друзей по всему миру; они по первому зову собираются на Голгофе. Сейчас они затаились в джунглях, обнеся участок по периметру натяжными струнами и чем-то еще, о чем Рэнди не хочется даже знать. Дуг просто велит не приближаться к границе, и Рэнди послушно выполняет приказ. С другой стороны, чувствуется неподдельный интерес Дуга к главным событиями, поэтому, когда наступает великий день, Рэнди именно ему поручает нажать на кнопку.
Началу предшествуют молитвы. Ави привез раввина из Израиля, Енох Роот пригласил архиепископа Манилы, Гото Денго притащил какого-то синтоистского настоятеля, и вдобавок приехала уйма представителей из других стран Юго-Восточной Азии. Все они молятся или поют, хотя молитвы практически тонут в реве вертолетов. Слишком многие не желают трогать Голгофу, и Рэнди чувствует, что, по сути, они правы. Но он «прозвучил» акустическим томографом туннель Ина, щупальце пустоты, тянущееся к хранилищу, опубликовал трехмерные карты и аргументирование — как ему кажется — заявил, что гораздо лучше сделать что-нибудь конструктивное, чем просто позволить Ину ограбить сокровищницу. Некоторые согласились с доводами, некоторые нет, однако никто из несогласных не попал на обложки «Тайм» и «Ныосуик».
Последним берет слово Дуг Шафто. Он снимает бейсбольную кепку и, прижав ее к сердцу, со слезами на глазах начинает рассказывать что-то о своем отце, которого едва помнит. Говорит о битве за Манилу, как впервые увидел отца на развалинах церкви святого Августина, как тот носил его на руках по ступенькам перед тем, как обрушить адский огонь на головы японцев. Говорит о прощении и других отвлеченных понятиях; слова приглушены шумом вертолетов, но Рэнди кажется, что это только придает им выразительности, потому что слова — это обрывки воспоминаний, таких же невнятных и приглушенных.
Наконец Дуг жмет на кнопку.
За несколько минут насосы нагнетают в Голгофу горючую смесь. Дуг жмет на другую кнопку. В глубине горы раздается приглушенный взрыв. Затем мир содрогается и ревет; рев переходит в вибрирующий вой. Из дренажного отверстия внизу вырывается столб белого пламени и зарывается в реку, в том месте, где встретил смерть Эндрю Лоуб. Встает облако пара; вертолеты взмывают ввысь. Рэнди съеживается на берегу под покровом облака, чувствуя, что это последняя в его жизни возможность побыть одному.
Через полчаса вместе с горящим газом выплескивается раскаленный поток. Шипя и поднимая пар, он оседает на дно реки. Долгое время не видно ничего, кроме белых облаков, но через час или два под водой и вокруг камня, на котором примостился Рэнди, проявляется, растекаясь по дну, блестящая, широкая река золота.
ПРИЛОЖЕНИЕ:
ПАСЬЯНС ШИФРОВАЛЬНЫЙ АЛГОРИТМ
Брюс Шнайер,автор «Прикладной криптографии»Президент «Каунтерпейн системс»http://www.counterpane.comВ романе Нила Стивенсона «Криптономикон» персонаж по имени Енох Роот описывает персонажу по имени Рэнди Уотерхауз криптосистему под кодовым названием «Понтифик», а после сообщает, что алгоритм реализуется при помощи колоды карт. Дальше герои обмениваются несколькими сообщениями, зашифрованными этим способом. Систему «Пасьянс» (в романе она выступает под кодовым названием «Понтифик», дабы до поры до времени скрыть, что в ней используется карточная колода) я придумал, чтобы агенты на местах могли выходить на связь, не полагаясь на электронику и не имея при себе компрометирующих инструментов. Агент может оказаться в ситуации, где у него просто не будет доступа к компьютеру, или пострадать, если при нем обнаружат средства секретной связи. А колода карт… что может быть безобиднее?
Стойкость «Пасьянса» основана на случайности перетасованной колоды. Манипулируя ею, коммуникант способен создать цепочку «случайных» букв, которые потом комбинируются с сообщением. Разумеется, «Пасьянс» можно воспроизвести на компьютере, но создан он для использования вручную.
Хоть «Пасьянс» и низкотехнологичен, надежность в него заложена высокотехнологическая. Я создавал его в расчете на самого богатого военного противника, обладающего самыми большими компьютерами и самыми толковыми криптоаналитиками. Конечно, не исключено, что кто-то найдет способ взломать «Пасьянс» (ищите обновления на моей веб-странице), но алгоритм несомненно лучше, чем все другие способы шифрования с помощью карандаша и бумаги, которые я видел.
Правда, это не быстро. Чтобы зашифровать или расшифровать более или менее длинное сообщение, нужен вечер. В книге «Кан о кодах» Дэвид Кан описывает подлинный метод шифрования с помощью карандаша и бумаги, которым пользовался советский шпион. На шифровку с помощью советского алгоритма и с помощью «Пасьянса» требуется примерно равное время.
ШИФРОВАНИЕ С ПОМОЩЬЮ «ПАСЬЯНСА»«Пасьянс» — поточный шифр с обратной связью по выходу. Иногда это называется генератор гаммы. Основная идея в том, что «Пасьянс» генерирует шифрующий поток из чисел от 1 до 26. Для шифрования сгенерируйте столько же букв ключевого потока, сколько содержит открытый текст. Потом суммируйте их по модулю 26, одну за другой, с буквами открытого текста. Для расшифрования сгенерируйте тот же ключевой поток и вычитайте по модулю 26 из шифртекста, чтобы получить открытый текст.
Для примера зашифруем первое сообщение из романа Стивенсона, «DO NOT USE PC»:
1. Разбейте сообщение открытого текста на группы по пять букв. (Ничего такого магического в цифре 5 нет, это просто традиция.) Последнюю группу дополните буквами «X». Тогда если сообщение «DO NOT USE PC», то открытый текст:
DONOT USEPC2. С помощью «Пасьянса» сгенерируйте десять букв шифрующего потока. (Подробности дальше.) Предположим, это:
KDWUP ONOWT3. Переведите открытый текст из букв в числа: А = 1, В = 2, и так далее:
4 15 14 15 20 21 19 5 16 34. Точно так же переведите в числа ключевой поток:
11 4 23 21 16 15 14 15 23 205. Сложите числа открытого текста с числами ключевого потока по модулю 26. (То есть если сумма превышает 26, вычтите из результата 26.) Например, 1 + 1 = 2, 26 + 1 = 27, а 27 — 26 = 1, так что 26 + 1 = 1.
15 19 11 10 10 10 7 20 13 236. Переведите числа обратно в буквы.
OSKJJ JGTMWКогда натренируетесь, сможете складывать буквы в уме, не переводя их в числа. Тут надо просто привыкнуть. Легко запомнить А + А = В; труднее, что Т + Q = К.
РАСШИФРОВКА С ПОМОЩЬЮ «ПАСЬЯНСА»Основная идея состоит в том, что получатель генерирует тот же ключевой поток и потом вычитает буквы ключевого потока из букв шифртекста.
1. Возьмите шифртекст и разбейте его на группы из пяти букв. (Он уже должен быть в таком виде.)
OSKJJ JGTMW2. С помощью «Пасьянса» сгенерируйте десять букв ключевого потока. Если получатель использует тот же ключ, что и отправитель, буквы должны получиться те же:
KDWUP ONOWT3. Переведите шифртекст из букв в цифры:
15 19 11 10 10 10 7 20 13 234. Переведите ключевой поток аналогичным образом:
11 4 23 21 16 15 14 15 23 205. Вычтите числа ключевого потока из чисел шифртекста по модулю 26. Например, 22 — 1 = 20, 1 — 22 = 5. (Это легко. Если первое число меньше второго, перед вычитанием прибавьте к нему 26. Тогда 1 — 22 =? станет 27 — 22 = 5.)