ТВОРЧЕСТВО

ПОЗНАНИЕ

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

 


Для чего мне нужен слабый когерентный рентгеновский луч? Им я нащупываю ячейки памяти компьютера. После дифракции луч возвращается в регистратор, встречается с основным лучом, и в результате интерференции появляется рентгеновская голограмма кристаллической решетки чужой памяти с записанной на ней информацией. Мой компьютер расшифровывает текст, принесенный лучом, и выдает его на индикатор в виде, удобном для чтения. Внешне это выглядит так, будто бы я соединился с чужим компьютером через интерфейс.
Регистратор у меня в одном блоке с компьютером. Я высчитал угол дифракции, и на сердце у меня полегчало: пространства будки и лестничного марша вполне хватало, чтобы разнести ридар и регистратор. Я проверил работу квазиотражателя основного луча, определил место для компа - строго вертикально подо мной на четырнадцатой сверху ступеньке лестницы, метнулся вниз, по дороге включая звуковую регистрацию приема, положил аппарат на пыльный бетон и вернулся в будку. Перевел дыхание, поймал в прицел ридара чемоданчик Олава.
Наши движения совпали: Ольсен в очередной раз нажал на клавишу передачи, а я в тот же момент надавил на спусковой крючок ридара. Компьютер внизу молчал. Я слегка поводил раструбом ридара. Тишина. Ольсен нажал кнопку, и параболическая антенна, сложившись, ушла внутрь чемоданчика. Еще раз тщательно прицелившись, я медленно вел невидимым лучом по спирали вокруг выбранной точки.
Удивительное дело: словно бы нас с Олавом подключили к какому-то синхронизатору. Внизу, на лестнице, раздалось гудение зуммера (попал в точку!), и тут же Ольсен захлопнул чемоданчик. Он закончил передачу. Шифрованное и сжатое сообщение через спутник попало к получателю, а мой компьютер благодаря ридару зафиксировал голограмму кристаллической решетки, на которой это сообщение было записано.
Я понесся по ступенькам и выбежал, опережая Ольсена, в холл второго этажа. Затем не спеша спустился в зал регистрации и подошел к стойке, над которой горело электронное табло: "Halifax - Stratoport".
13
Через полчаса я летел в челноке. Ближайшие пассажиры никаких подозрительных эмоций у меня не вызвали. Я вытащил из кармана комп и задал программу перевода рентгеновской голограммы в матрицу двоичного кода.
Вообще говоря, задание было намного сложнее. Для начала компьютеру пришлось вычленить из голограммы небольшую часть - микросхему оперативной памяти, поэтому мой прибор думал довольно долго. Прошло девять минут, прежде чем на индикаторе зажегся цифровой текст. Тот самый.
Бросив взгляд на индикатор, я сразу понял, что работенка предстоит трудная. Интуиция подсказывала, что будут затруднения с этим двоичным кодом, да я сам вид матрицы свидетельствовал о сложности задачи: она была неуместно прямоугольной, да еще с каким-то неприличным хвостиком внизу.
Неужели шифровка? По логике вещей, Олаву не нужно было записывать в памяти машины кодированное сообщение: абсолютную секретность обеспечивал скрэмблер, который включался при передаче. Мой компьютер с его необъятной памятью и быстродействием обязан был во всем разобраться и выдать на экран сразу буквенный текст. Но этого не произошло. Значит, сообщение Олава изначально было кодировано. Либо противник знал о возможностях нашего ридара, либо сообщение настолько раскрывало все карты, что для перестраховки Олав принял двойные меры безопасности.
До стыковки со "Стратопортом" оставались минуты. Надо как можно скорее переправить матрицу своим: пусть они тоже поищут решение. Да и мало ли что может со мной случиться.
Я вызвал на экран компа расписание спутников связи над точкой с координатами Галифакса. Проклятье! Спутник был над головой пять минут назад. Придется посылать сигнал вдогонку. Я собрал матрицу в информпакет и поставил передатчик в режим самонаведения.
Чувства облегчения мне это не принесло. Спутник мог уйти слишком далеко - раз. Меня мог экранировать челнок - два. Мог экранировать корпус крейсера - три. Впрочем, иного выхода все равно не было. В надувном шлюзе, по которому переходили из челнока в "Стратопорт", я включил передатчик. Попадет ли мой сигнал в точку? Как бы то ни было, теперь дело чести расшифровать матрицу самому.
Я выключил комп, спрятал его в карман и огляделся. Вроде бы все спокойно. И все же какую-то ошибку я допустил. Скорее всего, еще в челноке, когда изучал матрицу. Чей-то непраздный взгляд мог упасть на индикатор моего компьютера, ведь на пассажирских местах в челноках нет шторок. Впрочем, кто-то мог засечь меня и позже, уже в шлюзе, или раньше, когда я целился из ридара, сгорбившись в тесной будке. Но кто? Ведь на крыше галифаксского аэровокзала, кроме нас с Олавом, не было никого...
14
Перейдя в "Стратопорт", я прошел на свое место 9-В, задернул шторку и сразу занялся компьютером. Вид матрицы на индикаторе нагонял тоску. Передо мной был код, который никак нельзя назвать однозначно декодируемым. Я понятия не имел, каким образом разбить эту последовательность кодовых символов на кодовые слова, да еще так, чтобы разбиение оказалось единственно верным. Но отступать некуда.
Для начала я прогнал матрицу через те криптоаналитические программы, которые мог припомнить: подстановочная программа, перестановочная программа, шифр Цезаря, шифр Тритемиуса...
Маловато. Конечно, у моего компа огромные возможности, но я-то почти полный профан в криптоанализе. Напрягшись, припомнил правила кодирования по Хеммингу, но и тут незадача: откуда мне знать длину кодового слова в той шифровке, что скучно светилась на индикаторе. Я поиграл немного с компом, перебрав длины 3, 4, 5, 6, 7, 8, и понял, что зашел в тупик.
Надо мной замаячил призрак Клода Шеннона, отца теории информации. Он давным-давно показал, как можно построить криптограмму, которая не поддается расшифровке, если, конечно, не известен способ ее составления. И все же я продолжал игру. Наверное, во всей последующей истории главную роль сыграло именно то, что я - полный профан в криптоанализе. Ну и еще уязвленное самолюбие: я не мог себе простить, что я не знаю, с какого конца подобраться к криптограмме. И решил брать ее в лоб. А мой дилетантизм побудил меня задуматься над формой матрицы.
До сих пор я свято полагал, что матрица кода должна быть строго квадратной, - не иначе как отголоски почти забытого университетского курса матричной алгебры. Действительно, квадратную матрицу удобно транспонировать, или если хотите проще, то симметрично преобразовать относительно диагонали. Но кто сказал, что в моем случае вообще требуется транспонирование?
Коль скоро передо мной прямоугольная матрица, размышлял я, да еще с хвостиком, это непорядок. Ее надо преобразовать так, чтобы остался квадрат, а хвостик исчез.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15