Странно и жутко! Похоже, дьявол под ангельской личиной обманул жителей Стаафхорна и увлек их к печальному концу. Потому что когда туман наконец рассеялся, море окрасилось густым красным цветом и, насколько хватал глаз, было покрыто мертвой рыбой и телами прочих обитателей глубин, но ни от рыбацких лодок, ни от моих соседей поселян не осталось и следа. Однако в своем горе и унынии я не мог не дивиться — как же Люцифер не стал торжествовать победу? Но нигде не было видно огромного глаза. Словно жуткая судьба людей была безразлична врагу рода человеческого.
Много дней бродил я по Дании, рассказывая свою историю всем, кто согласен был меня слушать и внимать моим предупреждениям. Но потом меня назвали еретиком, и покинул я королевство, опасаясь за свою жизнь. Я ненадолго остановился здесь, в Гримуолд-Касле, в поисках помощи и поддержки, и куда пойду отсюда, того не знаю, но я должен продолжать путь.
Джон Олбарн.
Занесено на бумагу Мартином из Брескии, который дает здесь торжественную клятву, что рассказ сей записан верно. Канделмас, год от Рождества Христова 1398-й».
* * *
Когда Крейн наконец отложил листки, улегся на подушку и выключил свет, усталость, которую он ощущал, не уменьшилась. И все же он лежал в постели без сна, а перед его взором стоял лишь один образ — огромный немигающий глаз, окруженный ослепительным белым пламенем.
Дверь в лабораторию Джона Мэрриса была открыта, но Ашер все равно постучал.
— Входите, — отозвался криптолог.
У Мэрриса была самая аккуратная лаборатория на станции. Нигде ни пятнышка, ни пылинки. На углу стола лежала только небольшая стопочка инструкций да стояли клавиатура и плоский монитор. Не было ни фотографий, ни плакатов, ни каких-либо других личных вещей. Но, подумал Ашер, для Мэрриса это вообще типично — он застенчив, неохотно говорит о себе или высказывает личное мнение, замкнут. Целиком погружен в работу. Самое лучшее свойство для криптолога.
Жаль, однако, что его настоящая работа — короткий и явно простой код — оказалась такой трудной.
Ашер закрыл за собой дверь и сел в единственное кресло для посетителей.
— Я получил ваше сообщение, — сказал он. — Какие-нибудь результаты лобовой атаки есть?
Мэррис покачал головой.
— Фильтры произвольного доступа?
— Ничего вразумительного.
— Понятно.
Ашер осел в кресле. Получив от Мэрриса сообщение по электронной почте (тот приглашал его зайти, как только появится возможность), он ощутил прилив надежды, решив, что специалист разгадал загадку. Просьба «зайти, как только появится возможность» от флегматичного Мэрриса означала призыв к немедленной встрече.
— Тогда какие новости?
Мэррис посмотрел на него и снова отвел взгляд.
— Я подумал — может, мы подходим к расшифровке не с той стороны?
Ашер нахмурился.
— Объясните.
— Хорошо. Вчера вечером я читал биографию Алана Туринга.
Ашера это нисколько не удивило. Мэррис, действительный член академии, сейчас работал над второй докторской диссертацией — по истории компьютеров, а Алан Туринг был выдающейся фигурой раннего периода развития электронных машин.
— Продолжайте.
— Ну… вы знаете, что такое машина Туринга?
— Лучше будет, если вы мне еще раз напомните.
— В тридцатых годах Алан Туринг создал теоретический компьютер, известный под названием «машина Туринга». Он состоял из ленты — полоски бумаги произвольной длины. На ней были написаны символы некоего алфавита — конечное число. По ленте бежала головка, считывая символы и интерпретируя их в соответствии с таблицей преобразования. Состояние головки менялось в зависимости от сведений, которые она принимала. Сама полоска могла хранить либо данные, либо «переходы» — так он называл небольшие программы. В нынешних компьютерах вместо ленты может быть память, а вместо головки — микропроцессор. Туринг заявлял, что его теоретический компьютер может произвести любой расчет. Он был первым, кто пришел к этому.
— Продолжайте.
— Я стал думать об этом коде, который мы пытаемся взломать.
Мэррис махнул рукой в сторону компьютерного экрана, где был представлен испускаемый артефактом сигнал, чуть ли не нахальный в своей краткости и неразрешимости:
0000011111001010001101011001110010000101
0001001100010100011010011000010000000000
— Я предположил: а вдруг это и есть лента Туринга? — продолжал Мэррис. — Во что бы превратились единицы и нули, если бы мы пропустили их через машину Туринга?
Ашер подался вперед.
— Вы допускаете, что эти восемьдесят бит — компьютерная программа?
— Я знаю, сэр, что звучит это дико…
— Нисколько.
«Ничуть не более дико, чем сам факт нашего присутствия здесь, — подумал Ашер. — Сидим на дне моря, копаем…»
— Продолжайте, пожалуйста, — произнес он вслух.
— Да, конечно. Сначала я должен был разбить эту последовательность единиц и нулей на отдельные команды. Я сделал допущение, что исходные значения, 00000 и 11111, — заполнители, отмечающие длину каждой команды. Значит, получается, что каждое цифровое «слово» имеет длину в пять бит. Таким образом, у меня получилось четырнадцать пятибитовых команд.
Мэррис нажал на клавишу, и длинная строка цифр исчезла, сменившись вертикальным столбцом:
10101
00011
01011
00111
00100
00101
00010
01100
01010
00110
10011
00001
00000
00000
Ашер внимательно смотрел на экран.
— Слишком коротко для компьютерной программы.
— Да. Ясно, что она должна быть очень простой. И на машинном языке — самом основном, универсальном из цифровых языков.
Ашер кивнул.
— И?
— Когда я сегодня утром пришел к себе, я составил небольшую методику, которая сравнила эти значения с перечнем базовых команд машинного языка. Методика соотнесла все возможные команды со значениями, одну за другой, и проверила, не получилось ли связной последовательности.
— А почему вы решили, что они… кто бы они ни были — те, кто оставил это сообщение, используют машинный язык того же типа, что и мы?
— На бинарном уровне, сэр, существуют определенные цифровые команды, которые являются общими для любого мыслимого счетного устройства — увеличение, уменьшение, переход, пропуск, если нуль — булева логика. И вот я запустил программу и занялся другими делами.