Читаем Криптономикон полностью

За несколько минут насосы нагнетают в Голгофу горючую смесь. Дуг жмет на другую кнопку. В глубине горы раздается приглушенный взрыв. Затем мир содрогается и ревет; рев переходит в вибрирующий вой. Из дренажного отверстия внизу вырывается столб белого пламени и зарывается в реку, в том месте, где встретил смерть Эндрю Лоуб. Встает облако пара; вертолеты взмывают ввысь. Рэнди съеживается на берегу под покровом облака, чувствуя, что это последняя в его жизни возможность побыть одному.

Через полчаса вместе с горящим газом выплескивается раскаленный поток. Шипя и поднимая пар, он оседает на дно реки. Долгое время не видно ничего, кроме белых облаков, но через час или два под водой и вокруг камня, на котором примостился Рэнди, проявляется, растекаясь по дну, блестящая, широкая река золота.

<p>Приложение:</p><p>Пасьянс</p><p>Шифровальный алгоритм</p>

Брюс Шнайер,

автор «Прикладной криптографии»

Президент «Каунтерпейн системс»

http://www.counterpane.com

В романе Нила Стивенсона «Криптономикон» персонаж по имени Енох Роот описывает персонажу по имени Рэнди Уотерхауз криптосистему под кодовым названием «Понтифик», а после сообщает, что алгоритм реализуется при помощи колоды карт. Дальше герои обмениваются несколькими сообщениями, зашифрованными этим способом. Систему «Пасьянс» (в романе она выступает под кодовым названием «Понтифик», дабы до поры до времени скрыть, что в ней используется карточная колода) я придумал, чтобы агенты на местах могли выходить на связь, не полагаясь на электронику и не имея при себе компрометирующих инструментов. Агент может оказаться в ситуации, где у него просто не будет доступа к компьютеру, или пострадать, если при нем обнаружат средства секретной связи. А колода карт… что может быть безобиднее?

Стойкость «Пасьянса» основана на случайности перетасованной колоды. Манипулируя ею, коммуникант способен создать цепочку «случайных» букв, которые потом комбинируются с сообщением. Разумеется, «Пасьянс» можно воспроизвести на компьютере, но создан он для использования вручную.

Хоть «Пасьянс» и низкотехнологичен, надежность в него заложена высокотехнологическая. Я создавал его в расчете на самого богатого военного противника, обладающего самыми большими компьютерами и самыми толковыми криптоаналитиками. Конечно, не исключено, что кто-то найдет способ взломать «Пасьянс» (ищите обновления на моей веб-странице), но алгоритм несомненно лучше, чем все другие способы шифрования с помощью карандаша и бумаги, которые я видел.

Правда, это не быстро. Чтобы зашифровать или расшифровать более или менее длинное сообщение, нужен вечер. В книге «Кан о кодах» Дэвид Кан описывает подлинный метод шифрования с помощью карандаша и бумаги, которым пользовался советский шпион. На шифровку с помощью советского алгоритма и с помощью «Пасьянса» требуется примерно равное время.

<p>Шифрование с помощью «пасьянса»</p>

«Пасьянс» — поточный шифр с обратной связью по выходу. Иногда это называется генератор гаммы. Основная идея в том, что «Пасьянс» генерирует шифрующий поток из чисел от 1 до 26. Для зашифрования сгенерируйте столько же букв ключевого потока, сколько содержит открытый текст. Потом суммируйте их по модулю 26, одну за другой, с буквами открытого текста. Для расшифрования сгенерируйте тот же ключевой поток и вычитайте по модулю 26 из шифртекста, чтобы получить открытый текст.

Для примера зашифруем первое сообщение из романа Стивенсона, «DO NOT USE PC»:

1. Разбейте сообщение открытого текста на группы по пять букв. (Ничего такого магического в цифре 5 нет, это просто традиция.) Последнюю группу дополните буквами «Х». Тогда если сообщение «DO NOT USE PC», то открытый текст:

2. С помощью «Пасьянса» сгенерируйте десять букв шифрующего потока. (Подробности дальше.) Предположим, это:

3. Переведите открытый текст из букв в числа: A = 1, B = 2, и так далее:

4. Точно так же переведите в числа ключевой поток:

5. Сложите числа открытого текста с числами ключевого потока по модулю 26. (То есть если сумма превышает 26, вычтите из результата 26.) Например, 1 + 1 = 2, 26 + 1 = 27, а 27–26 = 1, так что 26 + 1 = 1.

6. Переведите числа обратно в буквы.

Когда натренируетесь, сможете складывать буквы в уме, не переводя их в числа. Тут надо просто привыкнуть. Легко запомнить A + A = B; труднее, что T + Q = K.

<p>Расшифровка с помощью «пасьянса»</p>

Основная идея состоит в том, что получатель генерирует тот же ключевой поток и потом вычитает буквы ключевого потока из букв шифртекста.

1. Возьмите шифртекст и разбейте его на группы из пяти букв. (Он уже должен быть в таком виде.)

2. С помощью «Пасьянса» сгенерируйте десять букв ключевого потока. Если получатель использует тот же ключ, что и отправитель, буквы должны получиться те же:

3. Переведите шифртекст из букв в цифры:

4. Переведите ключевой поток аналогичным образом:

Перейти на страницу:

Все книги серии Енох Роот

Криптономикон
Криптономикон

В период Второй мировой войны молодой математический гений Лоуренс Уотерхаус участвует во взломе немецких шифровальных систем. В наше время его внук Рэнди, компьютерный хакер, помогает построить автономную «гавань данных» в Юго-Восточной Азии. Судьба внука связана с работой деда, с международным заговором, который может принести миру кабалу нового тоталитаризма.Иногда веселый, плотно набитый информацией на самые разные темы, от криптоанализа и хакерства до поиска сокровищ, этот роман – настоящий современный эпос. С одной стороны – удивительный, совершенно оригинальный портрет эпохи военного времени. С другой – провокационное размышление о том, как наука и техника помогают формировать и изменять ход человеческой истории. Произведение большой эрудиции и столь же большой творческой силы, оно является и останется одним из значительных литературных достижений современной эпохи.

Нил Стивенсон

Современная русская и зарубежная проза

Похожие книги