Криптономикон (Cryptonomikon)

ПРОХОД

    Звон в ушах постепенно стихает. Бишоф встает с палубы и говорит:
    - Погружаемся на семьдесят пять метров.
    Циферблат глубиномера показывает двадцать. Сейчас это не лучшая глубина - метрах в ста над ними кружит бомбардировщик, его экипаж устанавливает взрыватели глубинных бомб на те самые двадцать метров.
    Стрелка, однако, не движется, и Бишофу приходится повторить приказ. Оглохли, что ли, все от взрыва? А может, повреждены рули?

Бишоф прижимается головой к переборке и, хотя слух уже не тот, различает завывание турбин. По крайней мере силовая установка в порядке. Они могут двигаться.
    Но «каталины» могут двигаться быстрее.
    Что ни говори о старых громыхающих дизельных подлодках, на них по крайней мере были орудия. Можно всплыть, выйти на палубу, на воздух и солнце, и отразить удар. У «V-Миллион», плавающей ракеты, единственное оружие - скрытность. На Балтике это то что надо. Но здесь Миндорский пролив, океан прозрачен, как стекло. «V-Миллион» словно висит в воздухе на роялевых струнах прожекторных лучей.
    Стрелка шевельнулась, миновала отметку «25». Бишоф чувствует, как пол прогибается под ногами от взрыва очередной глубинной бомбы. Сдетонировала слишком высоко, можно не опасаться. По привычке он бросает взгляд на указатель и попутно примечает время: 17.46. Солнце садится, его лучи отражаются от ряби на воде, и пилотам непросто разглядеть лодку сквозь завесу бликов. Еще час, и «V-Миллион» станет совершенно невидима. Бишофу останется только аккуратно отмечать скорость и курс, и можно будет, не всплывая, определять свои примерные координаты. Так за ночь лодка минует Палаванский проход или свернет на восток, через Южно-Китайское море - как им будет угодно. Больше всего он бы хотел высадиться в укромной пиратской бухте на северном побережье Борнео, жениться на симпатичной горилле и обзавестись небольшим семейством.
    На циферблате глубиномера стилизованными буквами написано «Tiefenmesser». Нацисты любят старинный готический шрифт. «Messer» означает «измерительный прибор», а также - нож. «Das Messer sitzt mir an der Kehle» - «С ножом у горла», лицом к лицу с судьбой. Не дай бог, чтобы нож, приставленный тебе к горлу, двигался, как сейчас стрелка Tiefenmesser’a. Каждая черточка на шкале - метр воды, отделяющей Бишофа от солнца и воздуха.
    - Хочу быть «мессершмиттом», - бормочет Бишоф. Messerschmidt - это тот, кто бьет молотом по ножу. А кроме того, замечательная штука, которая летает.
    - Ты еще увидишь свет и вдохнешь свежего воздуха, Гюнтер, - говорит Рудольф фон Хакльгебер, гражданский математик, совершенно неуместный в рубке подводной лодки во время смертельного боя.
    Хорошо, что Руди сказал это. Очень любезно выразил поддержку. Однако жизнь каждого моряка и сохранность золота на борту зависят от Бишофа, его душевного равновесия и особенно уверенности в себе. Иногда, если хочешь жить и дышать завтра, надо сегодня нырнуть в черную бездну, и это подвиг веры - в субмарину, в команду; веры, по сравнению с которой меркнет экстаз святого.
    Бишоф вскоре забывает предсказание Руди. Доброе слово придает сил, как и слова остальных членов экипажа, улыбки, ободряющие жесты, хлопанье по плечу; мужество, инициатива и смекалка людей, когда они ремонтируют поврежденные трубы или перегруженные двигатели. Сила придает Бишофу веры, а вера делает его хорошим капитаном. Можно даже сказать, лучшим в мире. Хотя Бишоф знал капитанов и получше - их тела погребены в сплющенных подводных лодках на дне Северной Атлантики.
    Солнце заходит, как будет заходить всегда и для всех, даже для загнанной субмарины. «V-Миллион» втиснулась в туннель Палаванского прохода и несколько часов несется по нему с совершенно невероятной скоростью двадцать девять узлов - в четыре раза быстрее, чем можно ожидать от подлодки.
    Американцы обведут окружностью то место в океане, где заметили лодку. Но «V-Миллион» вчетверо быстроходнее обычных субмарин. Реальная окружность должна быть в четыре раза больше. Там, где лодка всплывет, янки не будут ее ждать.
    Всплывать приходится; «V-Миллион» не в состоянии вечно делать двадцать девять узлов; она глупо, с неимоверной скоростью, израсходует топливо и перекись водорода, выжимая по шесть тысяч лошадиных сил из двух турбин. Топлива много, но перекись закончится к полуночи. Есть, конечно, слабенькие батареи и электродвигатели - их едва хватит, чтобы всплыть. Так что какое-то время они вынуждены идти в надводном положении, на дизельной тяге.
    Лодка и часть команды дышат свежим воздухом; Бишоф внизу - обнаружились неполадки в машинном отсеке. Это, возможно, спасает ему жизнь, потому что их атакуют бомбардировщики, а он ничего не понимает, пока снаряды не начинают барабанить о внешний корпус.
    Срочное погружение, как в старые добрые времена, когда их муштровали на Балтике. В молодости это захватывало, теперь наскучило. Бишоф поднимает голову. На какой-то миг он видит звезду через открытый люк; затем ее закрывает падающее изувеченное тело матроса.
    Еще через пять минут глубинная бомба попадает в кормовую часть и повреждает оба корпуса - внешний и герметичный. Бишоф чувствует, как палуба кренится под ногами, а уши начинает закладывать. На субмарине это дурное предзнаменование. Кто-то с грохотом задраивает отсеки, чтобы задержать проникновение воды в носовую часть, обрекая на гибель тех, кто остался сзади. Но и те, кто впереди, тоже мертвецы, остальное лишь вопрос времени. Переборки не могут сдержать пять, шесть, семь, восемь, девять, десять атмосфер. Они лопаются, вода давит наверх, пузырь воздуха в носовой части «V-Миллион» сокращается вдвое, затем еще вдвое, затем еще. С каждым разом волна давления молотом ударяет Бишофа в грудь, выколачивая из легких воздух.
    Нос лодки направлен вертикально вверх, как стрелка на глубиномере. Палубы нет, стоять не на чем; трещат переборки; в отсеки врывается вода, заливая людей с головой, и те, не успев вдохнуть, судорожно плывут наверх, в пузырь.
    Наконец искореженная корма втыкается в морское дно, и «V-Миллион» оседает, вращаясь вокруг оси и с хрустом ломая коралловый риф. Гюнтер Бишоф и Рудольф фон Хакльгебер оказываются в безопасном, уютном пузыре. Весь воздух, что раньше был в подлодке, теперь сжат до размеров автомобильной кабины. Внутри темно.
    Бишоф слышит, как Руди щелкает замками своего алюминиевого чемоданчика.
    - Только не зажигайте спички, - предупреждает Бишоф. - Воздух сильно сжат, спичка вспыхнет, как порох.
    - Какой ужас. - Руди включает фонарик. Лампочка загорается, и тут же нить накала краснеет и превращается в маленький тусклый огонек.
    - Лампочка лопнула, - объясняет Бишоф. - По крайней мере я успел увидеть ваше лицо. Ну и глупый же у вас вид.
    - Ваш тоже оставляет желать лучшего, - говорит Руди. Бишоф слышит, как защелкиваются замки на чемоданчике. - Вы думаете, он будет плавать вечно?
    - В конце концов корпус лодки проржавеет. Воздух из щелей начнет выходить наружу тоненькой ниточкой пузырьков; пузырьки, крутясь и поднимаясь, будут расширяться и превращаться в туманности протухшего газа. Вода в лодке поднимется и прижмет ваш чемоданчик к тому, что останется от прочного корпуса, к самому куполу. В чемоданчик затечет вода. Впрочем, где-нибудь в уголке, возможно, останется воздух.
    - Я подумал, может, стоит оставить записку.
    - Адресуйте ее правительству Соединенных Штатов.
    - Военно-морскому ведомству?
    - Шпионскому ведомству. Как оно там называется? Управление стратегических служб.
    - Почему вы так говорите?
    - Они знали, где искать, Руди. «Каталины» ждали нас.
    - Может, засекли радаром?
    - Я учел это. Нет, самолеты прилетели быстрее. Понимаете, что это значит?
    - Скажите.
    - Что те, кто охотился на нас, знали нашу скорость.
    - А... вот почему вы говорите про шпионов.
    - Я отдал Бобби чертежи, Руди.
    - Чертежи «V-Миллион»?
    - Да... должен же он был как-то оправдаться перед американцами.
    - Э-э... задним числом ясно, что этого, наверное, не стоило делать. Но я не осуждаю вас, Гюнтер. Великолепный был жест.
    - Теперь они спустятся и найдут нас.
    - Когда мы умрем, вы имеете в виду.
    - Да. Весь план рухнул. Что ж, у нас получилось симпатичное тайное общество. Может, Енох Роот проявит смекалку.
    - Вы действительно думаете, что шпионы обыщут эту развалину?
    - Кто их знает. Вам-то какая забота?
    - У меня в чемоданчике координаты Голгофы, - отвечает Руди. - И я знаю точно, что больше они не записаны нигде.
    - Еще бы не знать, вы же единственный, кто расшифровал сообщение.
    - Да. Может, следует его сжечь?
    - Тогда мы погибнем. Но по крайней мере умирать будем при свете и в тепле.
    - Вы-то через несколько часов будете загорать на песочке.
    - Прекратите!
    - Если я обещаю, я знаю, о чем говорю, - отвечает Руди. Что-то глухо плещется, словно ноги шлепают по воде.
    - Руди? Руди! - зовет Бишоф.
    Черный свод тишины. Он один.
    Через минуту его лодыжку хватает рука. Руди поднимается по его телу, как по лестнице. Плещется вода, и раздается глубокий вздох. Какой прекрасный воздух - в нем в шестьдесят раз больше кислорода, чем в обычном. Сразу чувствуешь себя лучше. Пока Руди приходит в себя, Бишоф поддерживает его.
    - Люк открыт, - говорит Руди. - Я видел свет. Наверху солнце, Гюнтер!
    - Так поплыли!
    - Плывите вы. Я останусь. Надо сжечь координаты. - Руди вновь открывает чемоданчик, шелестит бумагами, вынимает что-то, снова закрывает замки.
    Бишоф не шевелится.
    - Через тридцать секунд я зажигаю спичку, - говорит Руди.
    Бишоф оборачивается на голос и в темноте нащупывает руку товарища.
    - Я найду остальных, - говорит Бишоф. - Я передам им, что нас накрыл гребаный американский шпион. Мы первыми доберемся до золота, они ничего не получат.
    - Идите! - кричит Руди. - Вам надо спешить.
    Бишоф целует его в щеку и ныряет.
    Перед ним рассеянный сине-зеленый свет, идущий ниоткуда.
    Руди донырнул до люка, открыл его и вернулся еле живым. Бишофу предстоит проделать тот же путь, а затем плыть к поверхности. Нет, он не сможет.
    Внутри лодки вспыхивает яркий, теплый свет. Бишоф бросает взгляд назад, затем вверх. Носовая часть превратилась в шар желтого огня, в центре - силуэт человека. От купола прочного корпуса меридианами расходятся линии сварочных швов и клепаных соединений. Светло как днем. Бишоф разворачивается и с легкостью плывет вниз, к входному трапу, к центральному посту, и находит люк: тусклый голубой диск.
    К тому, что стало теперь потолком ЦП, прижат водой спасательный круг. Бишоф хватает его и, барахтаясь, тянет вниз, к центру, проталкивает вперед через люк; затем пробирается сам.
    Вокруг кораллы. Какая красота! Так бы и остался любоваться. Но у него еще есть дела наверху. Бишоф вцепился в круг, и, хотя кажется, что он стоит на месте, кораллы уменьшаются и уплывают вниз. На них лежит, истекая пузырями, огромная серая штуковина; она уменьшается и уменьшается, как ракета, тающая в небе.
    Он задирает голову, и поток воды струится по лицу. Руки Бишофа вытянуты вверх и сжимают веревки спасательного круга, в круге - диск солнечного света. Он становится все ярче и краснее.
    Колени начинают болеть.

ПОТОК

Остальное проплывает перед Рэндаллом Лоуренсом Уотерхаузом, как историческое кино. Он знает, что, технически говоря, сейчас настоящее, а все действительно важное в будущем. Однако все важное для него решено и определилось. Ему хочется просто жить своей жизнью, такой, какая она теперь.

    Они относят Ами в миссию, и местный доктор что-то делает с ее ногой. Доставить Ами в манильскую больницу невозможно - Ин перекрыл дороги. Это должно пугать, но, чуть пообвыкшись, они начинают находить ситуацию просто досадной и скучной. Операцию осуществляют геронтоаппаратчики из КПК при поддержке нескольких дружков-прихлебателей в местном правительстве. Ни один из них не имеет понятия о таких вещах, как кодированная широкополосная пакетная радиосвязь, так что Дуг и Рэнди без труда общаются с внешним миром и передают, как идут дела. Группа крови Рэнди совместима с Ами, и он дает доктору выкачать себя почти досуха. От недостатка крови у него на пару дней блокируются мозги, и все равно, когда он смотрит на перечень оборудования и рабочей силы для горных работ в Голгофе, составленный Дугласом Макартуром Шафто, ему хватает сообразиловки сказать: к черту все. Забудь про грузовики, отбойные молотки, динамит, мудреные погрузчики, экскаваторы и проходческие машины. Дай мне буровую, пару насосов и несколько тысяч галлонов солярки. Дуг сразу соображает, к чему клонит Рэнди, да и как иначе, ведь он сам подал мысль, рассказав старую военную легенду об отце. Новый перечень без труда обеспечивают Ави и Гото Денго.
    Неделю Ин не дает им покинуть миссию, и все это время подземные взрывы продолжают сотрясать окрестности. У Ами начинается заражение, и доктор уже почти решает ампутировать ногу, чтобы сохранить жизнь. Енох Роот проводит с Ами наедине некоторое время, и ее состояние неожиданно улучшается. Он объясняет, что применил местное народное средство, но Ами отказывается говорить на эту тему.
    Тем временем остальные, чтоб не скучать без дела, разминируют территорию вокруг Голгофы и пытаются определить, откуда раздаются взрывы. Похоже, Ину еще надо пройти около километра скальной породы, а он продвигается всего на несколько десятков метров в день.
    Весь мир словно с цепи сорвался; телевизионщики и военные беспрерывно облетают местность на вертолетах. В один прекрасный день на территорию миссии садится вертолет «Гото Инжиниринг»; он привозит геофизическую аппаратуру и - что важнее - антибиотики для Ами. Местные бактерии пенициллина-то никогда не видели, не то что суперсовременного средства, по сравнению с которым пенициллин - просто куриный бульон. Лекарство оказывает на больную ногу поистине волшебное действие. Через пару часов жар спадает, и в тот же день Ами уже может потихоньку ковылять. Дороги разблокированы, и теперь главная задача - сдержать натиск репортеров, кладоискателей-авантюристов и нердов. Все они убеждены, что присутствуют при неком переломном событии в истории цивилизации, которая дошла до ручки, и остается только выключить всю систему и перезагрузиться.
    Рэнди видит людей с транспарантами, на которых написано его имя. Он старается не думать, что из этого вытекает. Грузовики с оборудованием еле-еле пробиваются по запруженным дорогам, по когда все-таки прибывают, начинается самое неприятное и нудное - приходится целую неделю таскать всю эту ерунду в джунгли. Рэнди почти все время болтается с геофизиками; у них есть классная железка - акустический томограф, которым «Гото Инжиниринг» просвечивает (или, как говорят эти ребята, «прозвучивает») участки будущих работ. К тому времени, как доставлено тяжелое оборудование, у Рэнди готов погоризонтный план Голгофы с разрешением около метра. Он мог бы летать по ней в виртуальной реальности, если бы захотел. Теперь нужно только решить, где пробурить три скважины: две сверху, в главную камеру, и одну сбоку, почти горизонтально, но с легким подъемом вверх, к нижнему зумпфу. Дренажное отверстие.
    Кто-то прилетает из внешнего мира и сообщает Рэнди, что он на обложках «Тайм» и «Ньюсуик». Рэнди не видит в этом ничего хорошего. У него новая жизнь. Она видится ему так: жениться на Ами и потихоньку заниматься своим делом, пока не помрет от старости. Светиться на обложках газет и транспарантах посреди джунглей в его планы не входит. Ему хочется остаться в джунглях навсегда.
    Насосы размером с добрую лошадь, очень мощные и способны поддерживать высокое давление. Их выпускные трубы по диаметру в точности совпадают с устьями скважин на вершине: через одну будет подаваться сжатый воздух, через другую - солярка под давлением. Дуг Шафто тоже хотел бы участвовать, но он недостаточно подкован в техническом отношении, поэтому занимается охраной участка от золотоискателей и лазутчиков Ина, чтобы не мешали и не досаждали. У Дуга масса интересных друзей по всему миру; они по первому зову собираются на Голгофе. Сейчас они затаились в джунглях, обнеся участок по периметру натяжными струнами и чем-то еще, о чем Рэнди не хочется даже знать. Дуг просто велит не приближаться к границе, и Рэнди послушно выполняет приказ. С другой стороны, чувствуется неподдельный интерес Дуга к главным событиями, поэтому, когда наступает великий день, Рэнди именно ему поручает нажать на кнопку.
    Началу предшествуют молитвы. Ави привез раввина из Израиля, Енох Роот пригласил архиепископа Манилы, Гото Денго притащил какого-то синтоистского настоятеля, и вдобавок приехала уйма представителей из других стран Юго-Восточной Азии. Все они молятся или поют, хотя молитвы практически тонут в реве вертолетов. Слишком многие не желают трогать Голгофу, и Рэнди чувствует, что, по сути, они правы. Но он «прозвучил» акустическим томографом туннель Ина, щупальце пустоты, тянущееся к хранилищу, опубликовал трехмерные карты и аргументирование - как ему кажется - заявил, что гораздо лучше сделать что-нибудь конструктивное, чем просто позволить Ину ограбить сокровищницу. Некоторые согласились с доводами, некоторые нет, однако никто из несогласных не попал на обложки «Тайм» и «Ныосуик».
    Последним берет слово Дуг Шафто. Он снимает бейсбольную кепку и, прижав ее к сердцу, со слезами на глазах начинает рассказывать что-то о своем отце, которого едва помнит. Говорит о битве за Манилу, как впервые увидел отца на развалинах церкви святого Августина, как тот носил его на руках по ступенькам перед тем, как обрушить адский огонь на головы японцев. Говорит о прощении и других отвлеченных понятиях; слова приглушены шумом вертолетов, но Рэнди кажется, что это только придает им выразительности, потому что слова - это обрывки воспоминаний, таких же невнятных и приглушенных.
    Наконец Дуг жмет на кнопку.
    За несколько минут насосы нагнетают в Голгофу горючую смесь. Дуг жмет на другую кнопку. В глубине горы раздается приглушенный взрыв. Затем мир содрогается и ревет; рев переходит в вибрирующий вой. Из дренажного отверстия внизу вырывается столб белого пламени и зарывается в реку, в том месте, где встретил смерть Эндрю Лоуб. Встает облако пара; вертолеты взмывают ввысь. Рэнди съеживается на берегу под покровом облака, чувствуя, что это последняя в его жизни возможность побыть одному.
    Через полчаса вместе с горящим газом выплескивается раскаленный поток. Шипя и поднимая пар, он оседает на дно реки. Долгое время не видно ничего, кроме белых облаков, но через час или два под водой и вокруг камня, на котором примостился Рэнди, проявляется, растекаясь по дну, блестящая, широкая река золота.

ПРИЛОЖЕНИЕ: ПАСЬЯНС ШИФРОВАЛЬНЫЙ АЛГОРИТМ

Брюс Шнайер,
автор «Прикладной криптографии»
Президент «Каунтерпейн системс»

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

ШИФРОВАНИЕ С ПОМОЩЬЮ «ПАСЬЯНСА»

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

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

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

    DONOT USEPC

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

    KDWUP ONOWT

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

    4 15 14 15 20 21 19 5 16 3

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

    11 4 23 21 16 15 14 15 23 20

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

    15 19 11 10 10 10 7 20 13 23

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

    OSKJJ JGTMW

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

    РАСШИФРОВКА С ПОМОЩЬЮ «ПАСЬЯНСА»

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

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

    OSKJJ JGTMW

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

    KDWUP ONOWT

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

    15 19 11 10 10 10 7 20 13 23

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

    11 4 23 21 16 15 14 15 23 20

    5. Вычтите числа ключевого потока из чисел шифртекста по модулю 26. Например, 22 - 1 = 20, 1 - 22 = 5. (Это легко. Если первое число меньше второго, перед вычитанием прибавьте к нему 26. Тогда 1 - 22 =? станет 27 - 22 = 5.)

    4 15 14 15 20 21 19 5 16 3

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

    DONOT USEPC

    Расшифрование происходит так же, как зашифрование, только вы вычитаете ключевой поток из шифртекста.

    ГЕНЕРАЦИЯ БУКВ КЛЮЧЕВОГО ПОТОКА

    Это суть «Пасьянса». Приведенное выше описание шифрования и расшифрования работает для любого поточного шифра с обратной связью по выходу. Дальше объясняется, как работает «Пасьянс».
    «Пасьянс» генерирует ключевой поток с помощью колоды карт. Колоду в 54 листа (помните про джокеров) можно представить как 54-элементную перестановку. Существует 54!, или 2,31 х 1071 возможных раскладов колоды. Что еще лучше, в колоде 52 листа (без джокеров), а в латинском алфавите - 26 букв. Мимо такого совпадения грех пройти.
    Для «Пасьянса» в колоде должен быть полный набор из 52 карт и двух джокеров. Джокеры должны как-то отличаться. (Обычно так оно и есть. В колоде, на которую я смотрю, когда пишу, на джокерах звезды: на одном большая, на другом маленькая.) Пусть один джокер будет А, другой Б. Обычно графический элемент у джокеров одинаковый, отличается только размер. Назовите больший джокер «Б» от слова «больше». Если вам так проще, напишите на джокерах «А» и «Б», но помните, что, если вас поймают, вам придется объяснять это тайной полиции.
    Для инициализации колоды возьмите ее в руку, лицом вверх. Потом разложите карты в начальной последовательности, которая представляет собой ключ. (Про ключ я объясню позже, но это не то же, что ключевой поток.) Теперь мы готовы сгенерировать цепочку букв ключевого потока.
    Вот «Пасьянс»:
    1. Найдите джокер А. Переложите его на одну карту вниз. (То есть поменяйте местами с картой, которая лежит сразу под ним.) Если джокер - нижняя карта в колоде, положите его под верхнюю карту.
    2. Найдите джокер Б. Переложите его на две карты вниз. Если джокер - нижняя карта в колоде, положите его под две верхние карты. Если предпоследняя, положите сразу под верхнюю. (В общем, представьте, что колода - это петля... ну, поняли.)
    Важно выполнять эти два шага в указанной последовательности. Есть соблазн облениться и перекладывать джокеры в том порядке, в каком они вам попадутся. Это не страшно, если только они не лежат близко.
    Так что если колода до шага 1 выглядела так:

    3 А Б 8 9

    то после шага 2 она будет выглядеть:

    3 А 8 Б 9

    Если есть сомнения, помните, что джокер А надо перекладывать первым. И будьте внимательны, когда джокеры внизу колоды.
    3. Подснимите колоду. То есть поменяйте карты над первым джокером с картами под вторым джокером. Если колода выглядела так:

    2 4 6 Б 4 8 7 1 А 3 9

    то после подснимания она будет выглядеть:

    3 9 Б 4 8 7 1 А 2 4 6

    «Первый» и «второй» джокер относятся к джокерам, которые лежат соответственно ближе и дальше от верха колоды. На этом шаге не важно, какой из них А, какой Б.
    Помните, что джокеры и карты между ними не перекладываются; местами меняются нижняя и верхняя стопка. Если в одной из стопок карт нет (джокеры лежат рядом, либо один из них сверху или снизу), считайте эту стопку пустой и перемещайте ее, как полную.
    4. Подснимите по счету. Взгляните на нижнюю карту. Превратите ее в число от 1 до 53. (Последовательность мастей, как в бридже: трефы, бубны, червы, пики. Если карта ¦, ее значение соответствует достоинству. Если это ¦, то достоинству плюс 13. Если ¦, достоинству плюс 26. Если ¦, достоинству плюс 39. Один из джокеров - 53.) Отсчитайте от верха колоды это число. (Я обычно считаю от 1 до 13 требуемое число раз: это проще, чем последовательно досчитывать до больших чисел.) Выньте карты ниже той, до которой вы досчитали, оставив последнюю внизу. Если колода выглядела так:

    7… карты... 4 5… карты... 8 9

    и девятой картой была 4, после подснимания она будет выглядеть так:

    5… карты... 8 7… карты... 4 9

    Последняя карта остается на месте, чтобы сделать шаг обратимым. Это важно для математического анализа его безопасности.
    5. Найдите карту-результат. Посмотрите на верхнюю карту. Переведите ее в число от 1 до 53, как описано выше. Отсчитайте это число карт. (Считайте верхнюю карту номером первым.) Запишите карту после той, до которой вы досчитали, на листке бумаги. Если это джокер, ничего не записывайте и начните снова с шага 1.) Это первая карта-результат. Заметьте, что этот шаг не изменяет состояние колоды.
    6. Переведите карту в число. Как и прежде, пользуйтесь последовательностью мастей, принятой в бридже, в порядке возрастания: ¦, ¦, ¦ и ¦. То есть от Т¦ до К¦ - от 1 до 13, от Т¦ до К¦ - от 14 до 26, от T¦ до К¦ - от 27 до 39, и от Т¦ до К¦ - от 40 до 52.

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

    НАСТРОЙКА КОЛОДЫ

    «Пасьянс» надежен в той мере, в какой надежен его ключ. То есть простейший способ взломать «Пасьянс» - выяснить, каким ключом пользуются коммуниканты. Если у вас нет хорошего ключа, все остальное бесполезно. Вот несколько советов по поводу обмена ключом.
    1. Перетасуйте колоду. Случайный ключ - самый лучший. Один из коммуникантов может случайным образом перетасовать колоду и разложить вторую точно таким же способом. Одна должна быть у получателя, вторая - у отправителя. Большинство людей плохо тасуют карты, поэтому перетасуйте колоду не меньше десяти раз. Лучше взять колоду, которой уже играли, чем только что распечатанную. Обязательно нужно иметь запасную колоду, разложенную в том же порядке, иначе, сделав ошибку, вы уже не сможете прочесть сообщение. И помните, что ключ уязвим: тайная полиция может найти колоду и переписать ее порядок.
    2. Используйте бриджевые комбинации. Расклады бриджа, которые печатают в газетах или книгах по карточным играм, соответствую 95-битному ключу. Если коммуниканты договорятся, как, исходя из этого, раскладывать колоды и куда помещать джокеры (может быть, после первых двух карт, упомянутых в разборе), это сработает. Учтите: тайная полиция может найти колонку с бриджем в газете, которой вы решили пользоваться, и списать порядок карт. Можно сговориться на чем-нибудь вроде «используй колонку бриджа из газеты в твоем родном городе на день зашифровки сообщения» или похожем. Можно использовать список ключевых слов для поиска на веб-сайте «Нью-Йорк тайме». Поиск даст вам какую-нибудь статью; возьмите бриджевую колонку из номера, в котором она напечатана. Если ключевые слова будут найдены или перехвачены, их сочтут паролем. Придумайте какой-нибудь свой вариант: помните, что тайная полиция тоже читает книги Нила Стивенсона.
    3. Используйте пароль для расклада колоды. В этом методе для первоначального расклада используется алгоритм «Пасьянса». И отправитель, и получатель знают пароль. (Например, «SECRET KEY».) Начните с колоды, разложенной по порядку, самая младшая сверху, последовательность мастей, как в бридже. Проделайте операцию «Пасьянс», но вместо шага 5 выполните еще одно подснимание по счету, основываясь на первой букве пароля (в данном примере 19). (Не забудьте положить верхние карты сразу над нижней картой колоды, как и раньше.) Выполните это по разу на каждую букву. Еще две буквы определят положение джокеров. Помните, впрочем, что уровень случайности на букву в стандартном английском примерно 1,4 бита. Для безопасности нужен пароль по меньшей мере из 80 букв; я рекомендую не меньше 120. (Уж простите, но более короткий ключ не дает надежного уровня безопасности.)

    ПРИМЕРЫ

    Вот несколько примеров, чтобы потренироваться с «Пасьянсом»:
    Пример 1: Начните с неразложенной колоды: Т¦ - К¦, Т¦ - K¦, Т¦ - К¦, Т¦ - К¦, джокер А, джокер Б (можете считать это последовательностью 1-52, А. Б). Тогда первые десять результатов:

    4 49 10 (53) 24 8 51 44 6 33

    53, естественно, пропускается. Я оставил это число только для ясности. Если открытый текст:

    ААААА ААААА

    то шифртекст:

    EXKYI ZSGEH

    Пример 2: Используя метод настройки 3 ключ «FOO», получаем первые 15 результатов:

    8 19 7 25 20 (53) 9 8 22 32 43 5 26 17 (53) 38 48

    Если открытый текст состоит из одних «А», то шифртекст будет:

    ITHZU JIWGR FARMW

    Пример 3: Используя метод настройки 3 и ключ «CRYPTONOMICON», сообщение «SOLITAIRE» зашифровывается как:

    KIRAK SFJAN

    Разумеется, надо использовать более длинный ключ. Эти примеры приведены только для тренировки. На моем веб-сайте есть еще примеры, и вы можете создать свои, используя программу на языке PERL, приведенную в этой книге.

    СОБЛЮДЕНИЕ ТАЙНЫ КАК УСЛОВИЕ БЕЗОПАСНОСТИ

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

    СОВЕТЫ ПО ИСПОЛЬЗОВАНИЮ

    Первое правило любого поточного шифра с обратной связью по выходу: нельзя использовать один ключ для зашифровки двух разных сообщений. Повторяйте за мной: НИКОГДА НЕ ИСПОЛЬЗУЙ ОДИН КЛЮЧ ДЛЯ ЗАШИФРОВКИ ДВУХ РАЗНЫХ СООБЩЕНИЙ. В противном случае вы разрушаете всю безопасность системы. Вот почему: если у вас есть два потока шифртекста А + К и В + К и вы вычтете один из другого, то получите (А + К) - (В + К)= А + К - В - К = А - В. Это комбинация двух открытых текстов, которую очень легко взломать. Поверьте на слово: вы, может быть, и не восстановите А и В из А - В, но профессиональный криптоаналитик с этим справится. Так что это жизненно важно: никогда не пользоваться одним ключом для зашифровки двух разных сообщений.
    Пишите короткие сообщения. Алгоритм рассчитан на сообщения небольшой длины - примерно до двух тысяч знаков. Если вы хотите зашифровать роман в сто тысяч слов, воспользуйтесь компьютерным алгоритмом. Используйте в своих сообщениях стенографию, аббревиатуры, сленг. Не треплитесь попусту.
    Для большей безопасности постарайтесь делать все в уме. Если тайная полиция ломает вашу дверь, просто спокойно перетасуйте колоду. (Не бросайте ее в воздух, вы удивитесь, насколько при этом сохраняется порядок карт.) Не забудьте перетасовать контрольную колоду, если она у вас есть.

    АНАЛИЗ БЕЗОПАСНОСТИ

    Мне много что есть по этому поводу сказать, но вопрос слишком сложный для краткого изложения в книге. См. , или напишите Counterpane Systems, 1711 North Ave #16, Oak Park, IL 60302.

    ДАЛЬНЕЙШЕЕ ЧТЕНИЕ

    Рекомендую для начала мою книгу «Applied Cryptography» (John Wilcy & Sons, 1996).

<Брюс Шнайер, «Прикладная криптография, М.. Издательство ТРИУМФ, 2003.> Потом прочтите «The Codebreackers» Дэвида Кана. <Дэвид Кан, «Взломщики кодов», М., Центрполиграф, 2000.>

Дальше есть книги по компьютерной и ручной криптографии Можете подписаться на мою бесплатную рассылку на http:/cryptogram.html, или отправив пустое сообщение по адресу, crypto-gram-subscribe@. Это очень увлекательно, успехов!

  1. Нил Стивенсон (1)

    Документ
    «Реальная» столица Сети. Рай хакеров. Кошмар корпораций и банков. «Враг номер один» ВСЕХ мировых правительств. В сети нет ни стран, ни национальностей.
  2. Нил Стивенсон (2)

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

Другие похожие документы..