Декабрь 2020 года накрыл планету тяжелым, непроницаемым саваном. Мир, запертый в четырех стенах карантином, погрузился в стерильную, неестественную тишину. Улицы мегаполисов опустели, превратившись в декорации к неснятому фильму-катастрофе. Но в этой глобальной, оглушающей паузе, где время, казалось, утратило свою линейность и стало вязким, как смола, существовало иное измерение. Цифровое подполье, где не было ни пандемии, ни смены дня и ночи. Там царил лишь непрерывный, монотонный гул охлаждающих систем, прогоняющих кубометры воздуха через раскаленные ребра процессоров.
В этом измерении обитал «белый шум» — криптографическая энтропия, абсолютный математический хаос. И именно в этот хаос ежесекундно вглядывались три человека, разбросанные по разным континентам, но связанные одной маниакальной целью, которая давно переросла рамки простого научного интереса.
Они пытались взломать Z340. Шифр, который сводил с ума лучшие умы планеты на протяжении пятьдесят одного года.
Вирджиния, США. Дэвид Оранчак потер воспаленные, покрасневшие глаза. Монитор в полумраке его домашнего кабинета излучал мертвенно-бледный синий свет, выхватывая из темноты стопки распечаток, покрытых геометрическими символами. Спина ныла от многочасового сидения в одной позе, в шее пульсировала тупая боль — верный спутник человека, чье тело стало лишь приложением к вычислительной машине.
Дэвид откинулся на спинку кресла и сделал глоток давно остывшего, горького кофе. На экране перед ним застыла сетка. Двадцать столбцов. Семнадцать строк. Триста сорок символов.
Среди них были обычные буквы алфавита, перевернутые заглавные «P» и «R», закрашенные наполовину круги, кресты, треугольники и тот самый проклятый круг с перекрестием — личный знак маньяка, называвшего себя Зодиаком.
Оранчак занимался этим кодом четырнадцать лет. Четырнадцать лет он спускался в эту кроличью нору, пытаясь нащупать логику там, где, возможно, скрывалось лишь издевательское безумие. Он знал наизусть частотность каждого из 63 уникальных символов. Он помнил, в каких строках концентрируются определенные знаки. Z340 стал для него не просто криптограммой; он превратился в паразита, поселившегося в его нейронных связях.
Физиология этого одержимого состояния была ему хорошо знакома. Сначала приходит азарт — легкий тремор в пальцах, когда программа выдает кажущийся осмысленным фрагмент. В кровь выбрасывается адреналин. Зрачки расширяются, фокус зрения сужается до размеров нескольких пикселей на экране. Кажется, вот оно. Вот сейчас завеса падет. Но затем следует неизбежный удар о стену: алгоритм спотыкается, и «осмысленный» кусок текста растворяется в первобытном хаосе бессмысленных буквосочетаний. Адреналин сменяется кортизолом, оставляя после себя лишь пепельную усталость, сухость во рту и давящее чувство интеллектуального бессилия.
В истории криптографии гомофонический шифр подстановки — это не самая сложная преграда. Идея проста: часто встречающиеся буквы (например, 'E' или 'T' в английском языке) заменяются не одним символом, а несколькими разными. Это сглаживает статистику, лишая криптоаналитика его главного оружия — частотного анализа. Когда первый шифр Зодиака (Z408) был опубликован в 1969 году, супруги Харден — простой школьный учитель и его жена — взломали его за несколько дней за кухонным столом. Они просто угадали слова, которые эгоцентричный убийца должен был использовать. Например, слово «KILL» или «I».
Но Z340 был другим зверем. Он был создан в ноябре 1969 года, после того как убийца понял свои ошибки. И с тех пор этот шифр издевался над всеми.
Дэвид смотрел на экран и вспоминал призраков тех, кто пытался до него. Аналитики ФБР, оснащенные лучшими на тот момент перфокарточными ЭВМ. Криптографы АНБ, привыкшие перехватывать и расшифровывать донесения советских подводных лодок. Военно-морская разведка. Все они обломали зубы об эти 340 знаков. Годы шли, аналоговая криминалистика сменялась цифровой, вычислительные мощности росли в геометрической прогрессии, но код оставался нем.
Он был похож на монолит. Никакие стандартные атаки не работали. Программы перебора, основанные на алгоритмах «восхождения на холм» (hill-climbing), задыхались. Суть алгоритма проста: программа случайным образом назначает символам буквы, затем меняет одну связь и смотрит, стал ли получившийся текст больше похож на английский язык (оценивая частоту пар и троек букв). Если да — изменение сохраняется. Если нет — отвергается. Программа «карабкается» на вершину осмысленности. Но в случае с Z340 все алгоритмы неизбежно застревали на «локальных максимумах» — вершинах, которые оказывались лишь миражами. Выдаваемый текст выглядел как: «THE T KILL A MAN I...», а дальше шла абсолютная нечитаемая каша. Белый шум.
Дэвид моргнул, прогоняя из-под век жгучую резь. Изоляция 2020 года дала ему то, чего всегда не хватало — непрерывное время. И это время сводило его с ума. Он повернулся к другому монитору, где мигал интерфейс мессенджера. Там, на других концах планеты, в эту же самую секунду, не спали его напарники.
Антверпен, Бельгия. Ярл Ван Эйк сидел в темноте своей тесной комнаты. За окном занимался серый, промозглый бельгийский рассвет. Моросил мелкий, колючий дождь, типичный для декабря. Тело Ярла гудело от тупой, изматывающей боли. Мышцы спины и рук помнили каждую коробку, каждый тяжелый поддон, который он перетащил за свою смену на складе.
Днем он был обычным рабочим. Механическим винтиком в логистической цепи, где его главной задачей было физическое перемещение объектов в пространстве. Но ночью, когда гул складских погрузчиков затихал в его ушах, Ярл Ван Эйк становился кем-то другим. Он становился архитектором самого грозного криптоаналитического оружия в мире.
Его детище, программа AZDecrypt, была шедевром математической логики и программирования. Пока другие исследователи пытались использовать готовые инструменты, Ярл написал свой собственный код с нуля. Он оптимизировал его до такой степени, что алгоритм мог обрабатывать миллионы ключей в секунду, выжимая из обычного процессора максимум его возможностей. AZDecrypt был холодным, безжалостным скальпелем, созданным для вскрытия гомофонических шифров.
Ярл смотрел на бегущие по черному экрану командной строки зеленые цифры. Температура процессора его компьютера держалась на отметке 85 градусов. Вентиляторы ревели, пытаясь отвести тепло от перегруженного кремниевого сердца машины. В комнате стоял запах разогретой пластмассы и озона.
Сотни тысяч итераций в секунду. Программа вгрызалась в Z340, пыталась подобрать ключи, оценивала биграммы, триграммы, тетраграммы. И раз за разом выдавала отрицательный результат.
Интеллектуальное напряжение Ярла было сродни медитации. Он не позволял себе эмоций. Никакого страха перед личностью убийцы, никакого отвращения к его деяниям. Для Ван Эйка Зодиак не был человеком из плоти и крови, который терроризировал Калифорнию полвека назад. Он не был монстром, убивающим студентов на темных аллеях. Для бельгийского программиста Зодиак был просто неисправностью. Ошибкой в матрице. Сложной, упрямой, но поддающейся логическому разбору задачей.
Однако сейчас логика давала сбой. Ярл потер виски. AZDecrypt достигла предела своей эффективности в рамках стандартного подхода. Программа идеально решала классические шифры подстановки. Тот факт, что она не могла расколоть Z340, означал только одно, и эта мысль ледяным сквозняком пробиралась сквозь усталость: шифр был устроен иначе. Это была не просто замена букв. Символы были перемешаны. Переставлены. Разорваны на части.
И чтобы найти правильный порядок их чтения, требовались мощности, превосходящие возможности даже его оптимизированного кода. Требовалась грубая, титаническая сила суперкомпьютеров и совершенно иной математический подход.
Ярл переключил окно и набрал короткое сообщение Дэвиду и Сэму: «Линейное чтение мертво. Мы бьемся головой в бетон».
Мельбурн, Австралия. Для Сэма Блейка декабрь означал начало удушающего лета. Пандемия заперла австралийцев в жестком локдауне. Улицы Мельбурна плавились от жары и пустоты. Сэм, математик с академическим бэкграундом, сидел в своей гостиной, окруженный графиками и формулами. В отличие от Дэвида, который был архивариусом и исследователем дела, и Ярла, который был гениальным кодером, Сэм видел мир сквозь призму чистой математики. Топология, комбинаторика, теория вероятностей.
Сэм смотрел на матрицу Z340, распечатанную на огромном листе ватмана. Он не пытался угадать слова. Он рассматривал сетку как физический объект, подверженный деформации.
Он понимал, почему ФБР и АНБ потерпели неудачу в 70-х. Они исходили из предпосылки, что Зодиак, будучи самоучкой, не мог создать ничего сложнее прямолинейной подстановки, возможно, с парой уловок. Они искали смысл, читая текст слева направо и сверху вниз. Строка за строкой. Как обычную книгу.
Но что, если автор Z340, опьяненный безнаказанностью и собственным мнимым величием, решил усложнить игру? Что, если он сначала зашифровал сообщение, а затем разрезал его на куски и перетасовал, как колоду карт?
Подобная техника называется транспозицией. И если она применена вместе с гомофонической подстановкой, количество возможных вариантов прочтения текста устремляется в бесконечность.
Сэм сделал глубокий вдох, чувствуя, как спертый, горячий воздух наполняет легкие. Чтобы проверить гипотезу транспозиции, ему нужно было прогнать сетку через тысячи различных геометрических искажений, а затем каждое из них скормить программе Ярла AZDecrypt. Это требовало колоссальных ресурсов.
К счастью, у Сэма был доступ к суперкомпьютеру Мельбурнского университета — Spartan.
В течение последних нескольких недель Блейк запускал на Spartan скрипты, которые генерировали миллионы возможных вариантов прочтения Z340. Он заставлял машину читать текст змейкой. По спирали. Снизу вверх. Справа налево. Через один символ. Через два. Он создавал математические модели, которые скручивали двухмерную плоскость шифра в трехмерные цилиндры и торы, пытаясь найти тот самый алгоритм, по которому убийца записал свой текст перед тем, как разбить его на блоки.
Всего Сэм сгенерировал 650 000 (шестьсот пятьдесят тысяч) уникальных вариантов перестановок. И каждый из этих вариантов отправлялся Ярлу, чья программа прогоняла их через мясорубку статистического анализа.
Результат? Тот самый сводящий с ума белый шум.
Сэм чувствовал, как начинает сдавать. Анатомия интеллектуального отчаяния работает безотказно: мозг, не получая вознаграждения в виде дофамина от решения задачи, начинает саботировать работу. Внимание рассеивается. Строки сливаются в единое серое пятно. Символы начинают танцевать перед глазами, стоит только моргнуть. Это был предел. Человеческий разум не предназначен для того, чтобы так долго вглядываться в Бездну бессмыслицы без потери рассудка.
На экране всплыло сообщение от Ярла: «Линейное чтение мертво. Мы бьемся головой в бетон».
Сэм горько усмехнулся. Он знал это. Спартан пережевал полмиллиона линейных и геометрических комбинаций и выплюнул их обратно.
Блейк встал из-за стола и подошел к ватману на стене. Он провел пальцем по первому символу в левом верхнем углу — букве «H». Затем его взгляд скользнул по строке.
«Мы бьемся головой в бетон, потому что считаем, что этот бетон сплошной», — прошептал Сэм в тишину душной комнаты.
Он закрыл глаза, пытаясь абстрагироваться от усталости. Физиология страха перед неудачей сжала желудок. Полвека поражений. Десятки разрушенных карьер. Сотни фальшивых расшифровок от сумасшедших, утверждавших, что код содержит имена президентов, инопланетян или рецепты бомб. И вот теперь они — трое энтузиастов, застрявших в изоляции в своих домах, — подошли к краю той же самой пропасти.
Сэм снова открыл глаза и посмотрел на матрицу. Двадцать на семнадцать.
А что, если Зодиак вообще не думал категориями сложных криптографических машин? Что, если его метод был до примитивности физическим и визуальным? Что, если он не перемешивал символы случайным образом, а использовал конкретный, механический сдвиг при записи?
В криптографии существует понятие «децимации» — выбора каждого N-го символа из последовательности. Сэм посмотрел на первую строку. А затем его взгляд упал на вторую строку, но не под первой буквой, а сместившись вправо.
По диагонали.
Сердце математика дрогнуло, пропуская удар. Это было не озарение, это был жест отчаяния, шаг в сторону от классических догм.
Он быстро вернулся к компьютеру, его пальцы запорхали по клавиатуре с новой, лихорадочной энергией. Гул вентиляторов ноутбука казался теперь не раздражающим шумом, а боевым барабаном.
Он открыл общий чат с Дэвидом и Ярлом.
«Дэвид. Ярл. Вы здесь?» — напечатал Сэм. Ответы пришли мгновенно. Никто из них не спал.
«Слушайте меня внимательно», — пальцы Сэма выбивали дробь по клавишам. — «Мы испробовали сотни тысяч перестановок. Спирали, змейки, колонки. Все это было слишком математически правильно. Слишком академично. Мы пытались найти сложную логику там, где работала злая, утилитарная хитрость».
Он прикрепил к сообщению изображение матрицы Z340.
«Давайте перестанем читать по горизонтали или вертикали. Давайте разобьем архитектуру самого пространства. Я хочу, чтобы мы применили ход конем. Как в шахматах».
«Что ты имеешь в виду?» — пришел ответ от Дэвида из заснеженной Вирджинии.
«Сдвиг матрицы», — напечатал Блейк, чувствуя, как по спине пробегает холодный пот напряжения. — «Мы берем первый символ в верхнем левом углу. Затем спускаемся на одну строку вниз и сдвигаемся на два шага вправо. И берем следующий символ. Читаем по диагонали, пропуская ячейки. Один вниз, два вправо. Один вниз, два вправо. Мы разрезаем эту чертову сетку по косой. Мы заставим алгоритм Ярла прочитать код так, как никто до нас не пытался».
В чате повисла пауза. Тяжелая, цифровая тишина, пересекающая океаны и континенты. В этой паузе заключались пятьдесят лет неразгаданной тайны.
Затем на экране Сэма Блейка загорелось сообщение от Ярла Ван Эйка:
«Пишу скрипт. Запускаем».