Один из членов экипажа, курьер научной службы, дождавшись прибытия аппарата, вышел с полудюжиной запечатанных конвертов под мышкой. Человек этот работал на платформе относительно недавно. Он носил очки в черепаховой оправе и слегка прихрамывал при ходьбе, словно одна нога у него была короче другой. Устраиваясь на работу, он назвался Уоллесом.
Вернувшись в исследовательский отдел на рабочей палубе платформы, Уоллес, несмотря на хромоту, быстро обошел все лаборатории, вручив получателям первые пять конвертов. Но последний сразу не отдал. Вместо этого он вернулся в свою каюту в самом дальнем углу коридора.
Там Уоллес тщательно запер за собой дверь. Потом открыл конверт и вытряхнул себе на колени содержимое — единственный CD-диск. Повернувшись к компьютеру, поставил диск. Проверка содержимого показала, что на нем имеется всего один файл с названием 108952.jpg: какое-то изображение, наверное, фотография. Он щелкнул по иконке, и компьютер послушно вывел призрачную черно-белую картинку рентгеновского снимка.
Но Уоллеса интересовало не все изображение, а только кое-что на нем.
Хотя рекомендации Уоллеса были безупречны и проверки подтвердили его благонадежность, на платформе он работал недавно и поэтому не имел доступа к секретной информации. Помимо всего прочего, это означало, что вместо полноценного компьютера у него стоял простой терминал, подчиненный основному серверу платформы; у терминала даже не было своего винчестера, да и с командными файлами компакт-дисков возможности работать не было. Одним словом, пользователь мог обращаться только к разрешенным программам, а никаких «левых» установить было нельзя.
По крайней мере, так считалось.
Уоллес подтянул клавиатуру, открыл простенький текстовый редактор, установленный по умолчанию вместе с операционной системой, и набрал коротенькую последовательность команд:
void main (void)
{
char keyfile = fopen (108952.jpg')
char extract;
while (infile)
{
extract = (asc (least_sig_bit (keyfile)) / 2) ˆ6);
stdoutput (extract);
}
}
void least_sig_bit (int sent_bit)
{
int bit_zero;
bit_zero = < (sent bit, 6);
return (bit_zero);
bitzero = > (sent bit, 6);
}
Человек, который называл себя Уоллесом, на миг замер, чтобы проверить программу, прокручивая в голове отдельные шаги и проверяя верность алгоритма. Потом одобрительно фыркнул и еще раз глянул на изображение рентгеновского снимка.
Каждый пиксель изображения на экране занимал на диске один байт в файле с расширением. jpg. Коротенькая, но мощная программа вытащит по два наименее значимых бита из каждого байта, переведет из цифровой кодировки в текстовую и выведет получившиеся буквы на экран.
Уоллес быстро запустил программу. На экране открылось новое окно, но в нем уже не было изображения рентгеновского снимка. Вместо этого появилось текстовое сообщение:
ПРОШУ ОТЛОЖИТЬ ВТОРУЮ ПОПЫТКУ
ПРОРЫВА.
ЗАВИСИТ ОТ НОВОГО ИНФОРМАТОРА
В ЗАКРЫТОЙ ЗОНЕ
Поджав губы, он несколько раз прочел шифровку.
Имея компьютер, секретное сообщение можно спрятать где угодно — в фоновых помехах музыкальной записи, в зернистой структуре цифровой фотографии. Уоллес использовал старинный шпионский прием — прятать закрытую информацию туда, где ее не заметят, вместо того чтобы шифровать ее, — и перенес в цифровую эру.
Он закрыл текст, удалил программу и снова положил диск на место. Вся работа заняла не больше пяти минут. Еще через минуту на стол радиологической лаборатории тихо опустился конверт.
— А, да, я как раз ждал этот снимок, — сказал радиолог, поднимая взгляд. — Спасибо, Уоллес.
Тот только улыбнулся в ответ.
Во второй раз Крейн прошел через барьер в закрытую зону с гораздо меньшими мучениями: к нагрудному карману доктора был пристегнут новенький пропуск, а рядом с ним шагал молчаливый адмирал Спартан, поэтому весь процесс занял всего несколько минут. Охранявшие воздушный шлюз офицеры военной полиции синхронно отступили, и Крейн с адмиралом спустились на шестой уровень. Люк распахнулся в узкий коридор, Спартан вышел, Крейн последовал за ним.
В предыдущий раз он несся на полной скорости, стараясь быстрее попасть к Конраду Уайту, находившемуся в состоянии острого психоза, и мало что успел заметить по дороге. Сейчас Крейн с любопытством оглядывался по сторонам. Тем не менее идущий по здешним коридорам человек мог догадаться о том, что находится в закрытой зоне, лишь увидев большее количество предупредительных знаков на перламутровых стенах, стоявших повсюду морских пехотинцев да толстые резиновые уплотнительные прокладки вокруг каждой двери.
Спартан показал дорогу к уже ожидавшему их лифту и пригласил Крейна войти. В отличие от верхних этажей кнопки на панели управления были помечены цифрами от одного до шести. Адмирал нажал кнопку под номером «2», и они начали спуск.
— Вы так мне и не сказали… — решил нарушить молчание Крейн.
— Я вам много чего не сказал, — не глядя на него, отозвался Спартан. — Что конкретно вы имеете в виду?
— Почему вы изменили свое мнение.
Адмирал задумался. Потом повернулся и глянул на Крейна непроницаемым взглядом.
— Вы знаете, что я читал ваше досье?
— Ашер сообщил мне.
— Командир «Спектра» остался очень высокого мнения о вас. Он говорит, что вы в одиночку спасли подводную лодку.
— Капитан Нейсби преувеличивает.
— Должен вам признаться, доктор Крейн, что я не совсем представляю, что именно вы там делали.
— Это была секретная операция. Я не могу говорить о ней, сэр.
Спартан невесело усмехнулся.
— Об этом я все знаю. Лодке была поставлена задача: сбор информации о строительстве завода по обогащению урана на берегах Желтого моря. И, если необходимо, уничтожение предприятия атомной торпедой таким образом, чтобы все выглядело как случайная авария.
Крейн с удивлением посмотрел на Спартана. Потом он решил, что, наверное, у правительства не много тайн от военачальника, который командует таким секретным объектом, как станция.
— Я не имею в виду операцию, — продолжал Спартан. — Я хочу сказать, что не знаю, какова ваша роль в спасении корабля.
Крейн помолчал немного, вспоминая.
— Члены экипажа стали гибнуть, — начал он. — Просто страшной смертью. Носовые пазухи у них оказались разъедены, а мозг превратился в мохнатый студень. Болезнь развивалась в течение нескольких часов. В первый день умерли сразу два десятка человек. Мы действовали в режиме радиомолчания и не могли прервать поход. На борту поднялась паника, разговоры о саботаже, об отравляющем газе. Когда за ночь недосчитались еще десяти человек, разразился хаос. В цепи командования произошел сбой, дело шло к бунту. По подлодке начали бродить разъяренные группы, разыскивая предателя.