А  Б  В  Г  Д  Е  Ж  З  И  Й  К  Л  М  Н  О  П  Р  С  Т  У  Ф  Х  Ц  Ч  Ш  Щ  Э  Ю  Я  A-Z

 

Если появится чужак, то не составит труда его сразу нейтрализовать.
Итак, на крышу. Интересно, знает ли Олав, что туда ведут два хода?
Теперь главное - угадать, куда направился Ольсен, и пойти другим путем. Узнать это точно нельзя. Остается риск - пятьдесят на пятьдесят.
Я прошел в небольшой коридор, туда выходили двери служебных помещений. Вот и ход на крышу - дверь без номера, ничем не отличающаяся от прочих. Подергал ручку. Заперто. В общем-то, это ни о чем не говорит, по шансы на то, что Олав воспользовался вторым ходом, повысились. Я достал отмычку, без труда открыл дверь и стал медленно подниматься по ступенькам.
Лестница вела в небольшой шатер, похожий на будку вентиляционного колодца. Еще одна дверь. Верхняя ее часть застеклена. Откроешь - и будешь на крыше. Я не стал открывать дверь. Моя цель не требовала ни визуального, ни огневого контакта с противником.
Метрах в тридцати стояла точно такая же будка. Рядом с ней, сидя на корточках, копошился Олав. Раскрытый чемоданчик лежал на крыше. Из его нутра торчала развернутая параболическая антенна. Она едва заметно подрагивала - подстраивалась система самонаведения. Значит, в моем распоряжении считанные минуты, если не секунды. Как только компьютер поймает спутник, на индикаторе вспыхнет сигнал, Ольсен несколько раз нажмет клавишу "передача", пакет информации уйдет по радиомосту к получателю - и все. Чемоданчик закрыт, Олав спускается по лестнице, выходит в зал. Какие у вас претензии, господа?
Но почему бы мне не перехватить радиопередачу? Да по той причине, что я имею дело не с радиолюбителем, а с Терри Лейтоном, сотрудником ЦРУ. У его компьютера есть скрэмблерная подпрограмма да в придачу подпрограмма сжатия информации, а может, там есть и кодирующий микропроцессор. Так что ловить пакет с антенны - это значит получить такую тарабарщину, которая принципиально не поддается расшифровке. Единственный способ добраться до сути - вскрыть память компьютера, выделить информацию на месте, минуя скрэмблеры и прочие шедевры кодирующей техники.
Мне надо было очень спешить. И я достал из кармана ридар.
Ридар (не путать с ридером) внешне похож на небольшой пистолет с широким раструбом. Но это никакое не оружие, а очень точный прибор рентгеновский лидар. Или рентгеновский лазерный локатор. Или, еще точнее, рентгеновский лазерный считыватель молекулярных голограмм. Само слово "лидар" пошло от английского Light Detection and Ranging. Такими приборами мы вот уже сколько лет пользуемся в быту, хотя обычно и не знаем, как именно работает простенькое устройство, которым мы определяем загрязненность воздуха в квартире или готовность пирога в духовке. Заменим в английском обозначении слово Light на Rontgen - вот вам и "ридар". Тот единственный прибор, который мог выручить меня.
Действие ридара объяснить настолько же просто, насколько сложно его создать. За ним стоят четыре новейших направления в физике рентгеновских лучей: маломощные рентгеновские лазеры (парадокс научного прогресса: создание слабых лазеров стало возможным лишь после того, как были освоены сверхмощные источники когерентного излучения), рентгеновское дистанционное зондирование, рентгеновская голография и рентгеноструктурный лазерный анализ.
Для чего мне нужен слабый когерентный рентгеновский луч? Им я нащупываю ячейки памяти компьютера. После дифракции луч возвращается в регистратор, встречается с основным лучом, и в результате интерференции появляется рентгеновская голограмма кристаллической решетки чужой памяти с записанной на ней информацией. Мой компьютер расшифровывает текст, принесенный лучом, и выдает его на индикатор в виде, удобном для чтения. Внешне это выглядит так, будто бы я соединился с чужим компьютером через интерфейс.
Регистратор у меня в одном блоке с компьютером. Я высчитал угол дифракции, и на сердце у меня полегчало: пространства будки и лестничного марша вполне хватало, чтобы разнести ридар и регистратор. Я проверил работу квазиотражателя основного луча, определил место для компа - строго вертикально подо мной на четырнадцатой сверху ступеньке лестницы, метнулся вниз, по дороге включая звуковую регистрацию приема, положил аппарат на пыльный бетон и вернулся в будку. Перевел дыхание, поймал в прицел ридара чемоданчик Олава.
Наши движения совпали: Ольсен в очередной раз нажал на клавишу передачи, а я в тот же момент надавил на спусковой крючок ридара. Компьютер внизу молчал. Я слегка поводил раструбом ридара. Тишина. Ольсен нажал кнопку, и параболическая антенна, сложившись, ушла внутрь чемоданчика. Еще раз тщательно прицелившись, я медленно вел невидимым лучом по спирали вокруг выбранной точки.
Удивительное дело: словно бы нас с Олавом подключили к какому-то синхронизатору. Внизу, на лестнице, раздалось гудение зуммера (попал в точку!), и тут же Ольсен захлопнул чемоданчик. Он закончил передачу. Шифрованное и сжатое сообщение через спутник попало к получателю, а мой компьютер благодаря ридару зафиксировал голограмму кристаллической решетки, на которой это сообщение было записано.
Я понесся по ступенькам и выбежал, опережая Ольсена, в холл второго этажа. Затем не спеша спустился в зал регистрации и подошел к стойке, над которой горело электронное табло: "Halifax - Stratoport".
13
Через полчаса я летел в челноке. Ближайшие пассажиры никаких подозрительных эмоций у меня не вызвали. Я вытащил из кармана комп и задал программу перевода рентгеновской голограммы в матрицу двоичного кода.
Вообще говоря, задание было намного сложнее. Для начала компьютеру пришлось вычленить из голограммы небольшую часть - микросхему оперативной памяти, поэтому мой прибор думал довольно долго. Прошло девять минут, прежде чем на индикаторе зажегся цифровой текст. Тот самый.
Бросив взгляд на индикатор, я сразу понял, что работенка предстоит трудная. Интуиция подсказывала, что будут затруднения с этим двоичным кодом, да я сам вид матрицы свидетельствовал о сложности задачи: она была неуместно прямоугольной, да еще с каким-то неприличным хвостиком внизу.
Неужели шифровка? По логике вещей, Олаву не нужно было записывать в памяти машины кодированное сообщение: абсолютную секретность обеспечивал скрэмблер, который включался при передаче. Мой компьютер с его необъятной памятью и быстродействием обязан был во всем разобраться и выдать на экран сразу буквенный текст. Но этого не произошло. Значит, сообщение Олава изначально было кодировано. Либо противник знал о возможностях нашего ридара, либо сообщение настолько раскрывало все карты, что для перестраховки Олав принял двойные меры безопасности.
До стыковки со "Стратопортом" оставались минуты. Надо как можно скорее переправить матрицу своим: пусть они тоже поищут решение. Да и мало ли что может со мной случиться.
Я вызвал на экран компа расписание спутников связи над точкой с координатами Галифакса. Проклятье! Спутник был над головой пять минут назад. Придется посылать сигнал вдогонку. Я собрал матрицу в информпакет и поставил передатчик в режим самонаведения.
Чувства облегчения мне это не принесло. Спутник мог уйти слишком далеко - раз. Меня мог экранировать челнок - два. Мог экранировать корпус крейсера - три. Впрочем, иного выхода все равно не было. В надувном шлюзе, по которому переходили из челнока в "Стратопорт", я включил передатчик. Попадет ли мой сигнал в точку? Как бы то ни было, теперь дело чести расшифровать матрицу самому.
Я выключил комп, спрятал его в карман и огляделся. Вроде бы все спокойно. И все же какую-то ошибку я допустил. Скорее всего, еще в челноке, когда изучал матрицу. Чей-то непраздный взгляд мог упасть на индикатор моего компьютера, ведь на пассажирских местах в челноках нет шторок. Впрочем, кто-то мог засечь меня и позже, уже в шлюзе, или раньше, когда я целился из ридара, сгорбившись в тесной будке. Но кто? Ведь на крыше галифаксского аэровокзала, кроме нас с Олавом, не было никого...
14
Перейдя в "Стратопорт", я прошел на свое место 9-В, задернул шторку и сразу занялся компьютером. Вид матрицы на индикаторе нагонял тоску. Передо мной был код, который никак нельзя назвать однозначно декодируемым. Я понятия не имел, каким образом разбить эту последовательность кодовых символов на кодовые слова, да еще так, чтобы разбиение оказалось единственно верным. Но отступать некуда.
Для начала я прогнал матрицу через те криптоаналитические программы, которые мог припомнить: подстановочная программа, перестановочная программа, шифр Цезаря, шифр Тритемиуса...
Маловато. Конечно, у моего компа огромные возможности, но я-то почти полный профан в криптоанализе. Напрягшись, припомнил правила кодирования по Хеммингу, но и тут незадача: откуда мне знать длину кодового слова в той шифровке, что скучно светилась на индикаторе. Я поиграл немного с компом, перебрав длины 3, 4, 5, 6, 7, 8, и понял, что зашел в тупик.
Надо мной замаячил призрак Клода Шеннона, отца теории информации. Он давным-давно показал, как можно построить криптограмму, которая не поддается расшифровке, если, конечно, не известен способ ее составления. И все же я продолжал игру. Наверное, во всей последующей истории главную роль сыграло именно то, что я - полный профан в криптоанализе. Ну и еще уязвленное самолюбие: я не мог себе простить, что я не знаю, с какого конца подобраться к криптограмме. И решил брать ее в лоб. А мой дилетантизм побудил меня задуматься над формой матрицы.
До сих пор я свято полагал, что матрица кода должна быть строго квадратной, - не иначе как отголоски почти забытого университетского курса матричной алгебры. Действительно, квадратную матрицу удобно транспонировать, или если хотите проще, то симметрично преобразовать относительно диагонали. Но кто сказал, что в моем случае вообще требуется транспонирование?
Коль скоро передо мной прямоугольная матрица, размышлял я, да еще с хвостиком, это непорядок. Ее надо преобразовать так, чтобы остался квадрат, а хвостик исчез. На верную дорогу я вышел случайно; принципиально же это в корне неверно и могло увести меня неведомо куда.
Я сосчитал число знаков в строке - их было тридцать два - и решил сжать матрицу, объединив знаки по два. То есть разбил текст на кодовые слова с длиной два. Но в двоичном коде двумя знаками можно записать лишь четыре цифры - 0(00), 1(01), 2(10) и 3(11).
Таким образом я перевел получившийся текст в четвертичную систему; теперь он выглядел так:
1122312132311113
2332231233232312
3111323122233233
1323123231233112
1231111313132332
3313233132122231
3112231222112131
3133222231323212
3321113123213233
1123132332211112
1222332311113212
3231112231121231
1131111233233323
2313133133231132
3111113233233311
1223332222332123
2131123323323233
1222332232331313
З213221222232223
2322223321332321
3233312323132333
3332321122313111
221
Матрица осталась прямоугольной, но она была вытянута уже по вертикали. И вот какая штука: во всей матрице не было ни единого пуля. Я счел это добрым знаком, потому что из полной неразберихи начала проглядывать какая-то система...
Навязчивая идея о квадратной матрице преследовала меня. Недолго думая, я разделил криптограмму на две неравные части: вверху остался квадрат из 256 (16х16) знаков, а внизу - прямоугольная таблица с корявым хвостом.
Уже час я находился на борту "Стратопорта", а решение задачи даже не забрезжило. Но с мертвой точки дело сдвинулось: неверной дорожкой я как-то приближался к цели. Только минут через сорок меня осенило: нижняя часть может оказаться ключом к верхней. А вдруг передо мною редкий код с переменной длиной кодового слова? Тогда указание на то, как варьировать длину, надо искать в самой криптограмме.
Предположим, что длина меняется от 1 до 3 и нижняя часть матрицы - это запись длин, а четвертичный код выбран для того, чтобы затруднить работу дешифровщика: в этой криптограмме и основной текст, и ключ записаны всего тремя цифрами, и не так-то просто распознать, что есть что. К тому же кодовый текст выглядит абсолютно бессмысленным, и отличить префиксы кодовых слов, отделить слова друг от друга на первый взгляд невозможно.
Я попробовал прочитать квадратную матрицу с помощью ключа; его образ наполнился у меня буквальным содержанием - хвостик превратился в "бородку". В ключе первая цифра была 1 - значит, первое кодовое слово состоит из одной цифры - единицы. Вторая цифра ключа - двойка, поэтому второе слово матрицы содержит два знака, то есть 12. И так далее.
В конце концов из квадратной матрицы получилось.
1 12 23 121 323 111
13 23 32 23 123 323
23 1 23 111 32 3 122
2 3 32 331 323 12
323 123 31 121 23
111 131 3 13 23 32
331 323 31 32 122 23
131 122 3 122 2 112
131 31 3 322 22 31 3
23 21 23 32 111 31
23 21 323 31 123 13
23 З2 21 111 212 22
3 323 111 13 212 32
3 111 22 311 212 311
1 31 111 23 323 3
323 23 131 331 332
311 323 111 11 323
32 3 3 31 12 323 2
323 1 3 2 23 12 3
И теперь у меня не осталось никаких сомнений: передо мной типичная! простейшая! примитивнейшая! подстановочная криптограмма. Классика литературы: "Золотой жук" Эдгара По. Такой орешек мой компьютер расколет мгновенно.
1 2 3 4 5 6 7 8
Поиск книг  2500 книг фантастики  4500 книг фэнтези  500 рассказов